高级数据结构-树论基础
概念
几个重要的术语
1.结点:树里面的元素 2.父子关系:结点之间相连的边 3.子树:当结点大于1时,其余结点分为的互不相交的集合称为子树 4.度:一个结点拥有子树的数量称为结点的度 5.叶子:度为0的结点 6.孩子:结点的子树的根称为孩子结点 7.双亲:和孩子结点对应 8.兄弟:同一个双亲结点 9.森林:由N个互不相交的树构成森林 10.结点的高度:结点到叶子结点的最长路径 11.结点的深度:根结点到该结点的边个数 12.结点的层数:结点的深度加1 13.树的高度:根结点的高度
二叉树:
平衡二叉树,二叉查找树,红黑树,完全二叉树(堆排序),满二叉树
许多经典的算法和数据结构都是通过二叉树发展来的
Binary Tree:一种特殊的树形结构,每个结点至多有两棵子树 在二叉树的第N层上至多有2(N-1)个结点,N层二叉树最多有 2N-1个结点个数 满二叉树:除叶子结点外,其他结点都有左右两个子节点。 完全二叉树:除最后一层外,其他的结点个数必须达到最大,并且最后一层结点都连续靠左排列
思考:为什么要分满二叉树和完全二叉树?
在用数组进行树的操作时,如下图,巧妙利用数组的下标,完全二叉树不存在存储为空的情况
|