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

河东手机站如何做adsense网站

河东手机站,如何做adsense网站,网络营销管理培训,开发门户网站长子兄弟链存储结构(孩子兄弟链存储结构)解释: 长子兄弟链存储结构是一种树的存储结构,它使用孩子兄弟表示法(也称作左孩子右兄弟表示法)来表示树的结构。这种表示方法主要用于存储一般的树,而不…

长子兄弟链存储结构(孩子兄弟链存储结构)解释:

        长子兄弟链存储结构是一种树的存储结构,它使用孩子兄弟表示法(也称作左孩子右兄弟表示法)来表示树的结构。这种表示方法主要用于存储一般的树,而不是二叉树。

        在长子兄弟链存储结构中,树中的每个节点都有两个指针:一个指向它的第一个孩子节点,另一个指向它的右边(兄弟)的节点。这种表示方法使用了类似链表的结构,使得树的每个节点可以灵活地连接到它的子节点和兄弟节点。

        使用长子兄弟链存储结构,可以有效地表示任意形状的树,而且在进行树的遍历和操作时也相对容易。这种存储结构的主要优点是节省空间,因为不需要额外的指针来表示左右子树,同时也便于实现树的各种操作,如插入、删除和查找等。长子兄弟链存储结构在树的应用中具有一定的灵活性和效率。

 代码:

class BENode():def __init__(self,data,son=None,brother=None):self.data=dataself.son=sonself.brother=brotherclass 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,son=None,brother=None):#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].brother=b# 删除节点值def delx(self,e):for i in range(len(self.data)):# 从节点属性删除节点值if self.data[i].brother != None:if self.data[i].brother.data==e:self.data[i].brother.data=Nonebreakif self.data[i].son != None:if self.data[i].son.data==e:self.data[i].son.data=Nonebreakfor i in range(len(self.data)):# 从存储结构删除if self.data[i].data==e:self.data[i].data=Nonebreak#修改节点值,将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.data==e:self.data[i].brother.data=n_ebreakif self.data[i].son != None:if self.data[i].son.data==e:# 从存储结构修改self.data[i].son.data=n_ebreakfor i in range(len(self.data)):if self.data[i].data==e:self.data[i].data=n_ebreak# 查询节点值,返回节点def find(self,e):for i in range(len(self.data)):if self.data[i].data==e: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.yayakq.cn/news/350113/

相关文章:

  • wordpress全站ajax代码阿里云网站备案要多久
  • 网站建设学什么语言编辑好做网站公司 郑州
  • 凡科建站的建站后如何管理做照片书的模板下载网站好
  • 层流病房建设单位网站集安网站制作
  • 长沙做网站开发价格wordpress轮翻图参数
  • 已注册的网站如何注销开发一款app需要多少钱?
  • p2p电影网站开发如何推销自己的产品
  • 自己怎样做网站那些企业网站做的较好
  • 南宁建站模板展示网站木马 代码
  • 网站建设免费加盟代理营销推广方案
  • 滑县网站建设报价网站使用帮助
  • 电子商务网站有哪些内容自助建站管理平台
  • 建站快车的优点网站开发培训达内
  • 海尔建设此网站的目的是什么东莞微信网站开发
  • 佛山产品推广嘉兴做网站seo
  • 网站右下角图片广告代码遵义网站开发的公司
  • 网页版梦幻西游好玩吗新网站怎么做优化
  • 什么网站可以接单做设计湖北短视频seo
  • 郑州网站制好用的黄页网
  • 专业做网站建设公司有哪些WordPress做漫画网站
  • iis 5 如何添加网站手机网站建设专家
  • 哪个网站可以免费做网页公司网站制作专业公司
  • wordpress建站多用户腾讯云域名注册官网
  • 江门网站建设运营团队帝国cms个人网站模板
  • 大气的网站源码flash网站源码模板
  • 珠海网站制作费用做网站的技术支持
  • 邯郸网站建设fkop做网站 赚钱吗
  • 外贸平台哪个最好织梦seo排名优化教程
  • 汕头模板建站代理深圳网站开发哪家专业
  • 快速建网站重庆代还信用卡网站建设