数据结构(四)二叉树
一、树 Vector和List都有明显的弱点,都无法兼顾动态和静态操作的高效性。 Tree可以认为将Vector和List的优点结合了起来,可以认为是列表的列表List<List>,半线性结构。 应用 层次关系的表示 从数学上看,树是一类特殊的图,联通无环图。 树由一组顶点(vertex)以及连接于期间的若干条边(edge)组成。 在计算机科学中 ,会指定某个特定的顶点,称之为根(root) 在指定了根之后,我们称该树为 有根树(rooted tree) 从程序实现的角度,我更多地将顶点(vertex)称作节点(node) 通过彼此嵌套,小型的有根树可以变成大型的有根树 对于任何一组有根树,可以通过引入新的顶点,在新的顶点和此前各有根树的树根之间引入对应的一条连边,从而构成规模更大的一棵有根树。 r i 称作r的孩子(child),r i 之间互称 兄弟(sibling) ,r为其 父亲(parent) d=degree(r)为r的(出) 度 (degree) 某一节点v孩子的总数,称作该节点的度数或度(degree),无孩子的节点称为叶节点(leaf node),包括根在内的其余节点皆为内部节点(internal node)。 n为顶点数,e为边数, 任何一棵树所含的边数,恰好等于所有顶点的度数之和,也等于顶点总数减1,一棵树的边数与顶点数目是同阶的。 树是 无环连通图