数据结构——二叉树(基础)
1、树存在意义: 1)数组的存储方式的分析 优点:通过下标方式访问元素,速度快,对于有序数组,还可使用二分查找提高检索速度。 缺点:如果要检索具体某个值,或者插入值(按一定顺序)会整体移动,效率低。 2)链式存储方式的分析 优点:在一定程度上对数组存储方式有优化(比如:插入一个数值节点,只需要将插入节点,连接到链表即可,删除效率也很好)。 缺点:在进行检索时,效率仍然很低,检索某个值,需要从头节点开始遍历。 3)树的存储方式分析 能提高存储,读取的效率,比如利用二叉排序树(Binary Sort Tree),既可以保证数据的检索速度,同事也可以保证数据的插入,删除,修改的速度 2、树的常用术语: 节点 :如A,B,F分别是树的节点; 根节点 :如A是整棵树的根节点; 父节点 :如B是E的父节点; 子节点 :如E是B的子节点; 叶子节点 :没有子节点的节点,如D.H,F,G都是叶子节点; 权 :若将树中节点赋给一个有着某种含义的数值,则这个数值称为该结点的权; 路径 :从root结点(根节点)找到该节点的路线,如H节点的路径为{A,B,E,H}; 层 :从根开始定义起,根为第一层,根的孩子为第二层。若某节点在第k层,则其子树的就在第k+1 层。如节点E的层数为3; 子树 :如集合{B,D,E,H}为A的一颗子树; 树的高度 :树的最大层数,如示例图树的高度为4; 森林 :是m (m>