数据结构与算法(树)
首语 疫情严重,需要多多注意,做好防范!戴口罩,勤洗手。献上→ 新型冠状病毒感染防护手册 ! 树 树(Tree)是n(n≥0)个结点的有限集。n=0时称为空树。在任意一颗非空树中:(1)有且仅有一个特定的称为根(Root)的结点;(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1、T2、…Tm,其中每一个集合本身又是一棵树,并且称为根的子树(SubTree)。 结点的度 结点拥有的子树数称为结点的度。度为0的节点称为叶子结点或终端结点,度不为0的结点称为非终端结点或分支结点。除根结点以外,分支结点也称为内部结点。树的度是树内各节点的度的最大值。 层次与深度 结点的层次(Level)从根开始定义起,根为第一层,根的孩子为第二层。若某结点在第一层,则其子树的根就在l+1层。其双亲在同一层的结点互为堂兄弟。显然图中的D、E、F是堂兄弟,而G、H、I、J也是。树中结点的最大层次称为树的深度(Depth)或高度,当前树的深度为4。 有序与无序树 如果将树中结点的各子树看成从左至右是有次序的,不能互换的,则称该树为有序树,否则称为无序树。 森林 森林(Forest)是m(m≥0)棵互不相交的树的集合。 树的存储结构 简单的顺序存储不能满足树的实现。 结合顺序存储和链式存储来实现。 三种表示方法 1、双亲表示法 在每个结点中,附设一个指示器指示其双亲结点到链表中的位置。 2