当前位置: 首页 > news >正文

网站开发与设计中学生大连百度推广代理商

网站开发与设计中学生,大连百度推广代理商,谷歌广告优化,电子政务门户网站建设的教训长子兄弟链存储结构#xff08;孩子兄弟链存储结构#xff09;解释#xff1a; 长子兄弟链存储结构是一种树的存储结构#xff0c;它使用孩子兄弟表示法#xff08;也称作左孩子右兄弟表示法#xff09;来表示树的结构。这种表示方法主要用于存储一般的树#xff0c;而不…长子兄弟链存储结构孩子兄弟链存储结构解释 长子兄弟链存储结构是一种树的存储结构它使用孩子兄弟表示法也称作左孩子右兄弟表示法来表示树的结构。这种表示方法主要用于存储一般的树而不是二叉树。 在长子兄弟链存储结构中树中的每个节点都有两个指针一个指向它的第一个孩子节点另一个指向它的右边兄弟的节点。这种表示方法使用了类似链表的结构使得树的每个节点可以灵活地连接到它的子节点和兄弟节点。 使用长子兄弟链存储结构可以有效地表示任意形状的树而且在进行树的遍历和操作时也相对容易。这种存储结构的主要优点是节省空间因为不需要额外的指针来表示左右子树同时也便于实现树的各种操作如插入、删除和查找等。长子兄弟链存储结构在树的应用中具有一定的灵活性和效率。 代码 class BENode():def __init__(self,data,sonNone,brotherNone):self.datadataself.sonsonself.brotherbrotherclass BEStree():def __init__(self):self.data[]# 建立根节点,并存储在self.data中def create_t(self,e):a BENode(e)self.data.append(a)# 建立节点与节点之间关系,并存储在self.data中,brother的存储优先级son的存储优先级(增加节点)def create_other(self,i,sonNone,brotherNone):#i为节点的下标if son!None:s BENode(son)self.data.append(s)self.data[i].son sif brother!None:b BENode(brother)self.data.append(b)self.data[i].brotherb# 删除节点值def delx(self,e):for i in range(len(self.data)):# 从节点属性删除节点值if self.data[i].brother ! None:if self.data[i].brother.datae:self.data[i].brother.dataNonebreakif self.data[i].son ! None:if self.data[i].son.datae:self.data[i].son.dataNonebreakfor i in range(len(self.data)):# 从存储结构删除if self.data[i].datae:self.data[i].dataNonebreak#修改节点值,将e修改为n_edef change(self,e,n_e):for i in range(len(self.data)):# 从节点属性修改节点值if self.data[i].brother!None:if self.data[i].brother.datae:self.data[i].brother.datan_ebreakif self.data[i].son ! None:if self.data[i].son.datae:# 从存储结构修改self.data[i].son.datan_ebreakfor i in range(len(self.data)):if self.data[i].datae:self.data[i].datan_ebreak# 查询节点值,返回节点def find(self,e):for i in range(len(self.data)):if self.data[i].datae:return self.data[i]#先序遍历,传入的t的参数为self.data[0]def display_f(self,t):if t!None:print(t.data,end )self.display_f(t.son)self.display_f(t.brother)#后序遍历def display_t(self,t):if t!None:self.display_t(t.son)self.display_t(t.brother)print(t.data,end )#中序遍历def display_m(self,t):if t!None:self.display_m(t.son)print(t.data,end )self.display_m(t.brother)a BEStree() a.create_t(A) a.create_other(0,B) a.create_other(1,D,C) a.create_other(2,G) a.create_other(3,E) a.create_other(5,None,F) #后序遍历 a.display_t(a.data[0]) print() #中序遍历 a.display_m(a.data[0]) print() #先序遍历 a.display_f(a.data[0]) print() # 改变值 a.change(A,10) a.display_f(a.data[0]) print() # 删除值 a.delx(10) a.display_f(a.data[0]) 长子兄弟链存储结构的优点 1. 节省空间相比于其他树的存储结构长子兄弟链存储结构更加节省空间因为它不需要额外的指针来表示左右子树。 2. 灵活性长子兄弟链存储结构可以有效地表示任意形状的树包括多叉树和不规则树因此具有较强的灵活性。 3. 操作便利在长子兄弟链存储结构中树的节点之间使用指针连接这样可以方便地进行树的遍历、插入、删除和查找等操作。 长子兄弟链存储结构的缺点 1. 操作复杂性相对于其他树的存储结构长子兄弟链存储结构的操作可能会更加复杂因为需要考虑节点之间的兄弟关系和孩子关系。 2. 不适用于特定场景长子兄弟链存储结构主要适用于一般的树结构对于特定的树如二叉树或平衡树等可能不是最佳的选择。 3. 不适合频繁修改的树长子兄弟链存储结构对于频繁进行插入和删除操作的树可能不太适用因为这样的操作可能会导致链的频繁调整影响效率。
http://www.w-s-a.com/news/260167/

相关文章:

  • 地方网站做外卖专业做互联网招聘的网站有哪些
  • 网站推广公司兴田德润紧急网页升级紧急通知
  • 厦门做网站哪家强企业网站网页设计的步骤
  • 普拓网站建设济南行业网站建设
  • 燕郊 网站开发网站里的地图定位怎么做
  • 门户网站建设招标互联网创业项目概述
  • 用什么做网站比较好市场调研公司是做什么的
  • 电商网站充值消费系统绍兴网站优化
  • 深圳网站建设公司联虚拟币交易网站开发
  • 专业网站设计建设公司抖音代运营公司排名前十强
  • 做网站架构肃北蒙古族自治县建设局网站
  • 推广网站怎么建经济研究院网站建设方案
  • 网站建设商家淘宝客自建网站做还是用微信qq做
  • django做网站效率高吗涉县移动网站建设报价
  • 做外贸网站注册什么邮箱能够做渗透的网站
  • 购物网站 怎么做织梦网站会员功能
  • 北京市网站开发公司郑州联通网站备案
  • 温岭专业营销型网站建设地址wordpress小程序怎么不用认证审核
  • 网站建设主体设计要求微信公众号缴费
  • 网站建设的税率WordPress多用户建站
  • 专业门户网站的规划与建设网络培训
  • 东莞汽车总站停止营业crm管理系统在线使用
  • 深圳网站建设公司哪个网络优化是做什么的
  • 大连地区做网站自己怎么做电影网站
  • 成都APP,微网站开发手机要访问国外网站如何做
  • 网站app建设用discuz做的手机网站
  • vs 2008网站做安装包公众号登录超时
  • 银川做网站推广wordpress dux会员中心
  • 双辽做网站wordpress怎么写html代码
  • 建站公司哪家好 知道万维科技西安都有哪些公司