9.树及存储结构

不同于1对1的线性数据结构,树是一种一对多的存储结构。

树(Tree)是n(n>=0)个结点的有限集。当n=0时成为空树,在任意一棵非空树中:

  • 有且仅有一个特定的称为根(Root)的结点;
  • 当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、...、Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。
节点分类:

上面图片中,每一个圈圈我们就称为树的一个结点。结点拥有的子树数称为结点的度-(Degree),树的度 取树内各结点的度的最大值:

  • 度为0的结点称为叶结点(Leaf)或终端结点;
  • 度不为0的结点称为分支结点或非终端结点,除根结点外,分支结点也称为内部结点。
节点间的关系:
  • 结点的子树的根称为结点的孩子(Child),相应的,该结点称为孩子的双亲(Parent),同一双亲的孩子之间互称为兄弟(Sibling)。
  • 结点的祖先是从根到该结点所经分支上的所有结点。
节点的层次:
  • 结点的层次(Level)从根开始定一起,根为第一层,根的孩子为第二层。
  • 其双亲在同一层的结点互为堂兄弟。
  • 树中结点的最大层次称为树的深度(Depth)或高度
有序树:

若将树中每个结点的各子树看成是从左到右有次序的(即不能互换),则称该树为有序树(Ordered Tree);
否则称为无序树(UnorderedTree)。

森林:

森林是m(m >= 0)棵互不相交的树的集合。
对树中的每个结点而言,其子树的集合即为森林。


树的存储结构

双亲孩子表示法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一些概念 数据结构就是研究数据的逻辑结构和物理结构以及它们之间相互关系,并对这种结构定义相应的运算,而且确保经过这...
    Winterfell_Z阅读 6,670评论 0 13
  • B树的定义 一棵m阶的B树满足下列条件: 树中每个结点至多有m个孩子。 除根结点和叶子结点外,其它每个结点至少有m...
    文档随手记阅读 13,751评论 0 25
  • 以此文记录学习 数据结构-树 的相关知识,以备后续回顾复习。 一、树 定义: 树(Tree)是n(n>=0)个结点...
    逐日追星看月亮阅读 675评论 0 0
  • 今夜,梦和雪的颜色,都是白色的。 梦中有白色的马车哒哒地走过,带着祝福,带着希望,奔向黎明。 ...
    婉儿2017阅读 477评论 0 0
  • 元旦假期的时候看了罗振宇《时间的朋友》的跨年演讲,在四个小时的时间里,他讲了五个“黑天鹅”事件:时间战场、消费升级...
    bf3706ee5f98阅读 244评论 0 0

友情链接更多精彩内容