数组必修有序才能达到log(n)级别的时间复杂度。而且要用循环减半
树:读取和存储效率都是很高的(树可能有很多叉)
树中的节点:
二叉树:每个节点上最多有两个节点称为二叉树
- 父节点,子节点,根节点,叶子节点(没有子节点的点)
- 节点的权:节点的值
- 路径(从跟节点到该节点走过的节点)
- 层:上面的那个有3层
- 子树:只要不是根节点构建的就行
- 树的高度:有几层
- 森林:多棵子树构成森林
满二叉树:最后一层的数据也是铺满的
完全二叉树:从上到下从左到右依次进行平铺
二叉树的遍历说明
- 深度优先遍历:
- 前(先)序遍历:先输出父节点,再左再右 5 4 2 3 7 6 8
- 中序遍历:先左再父再右 2 4 3 5 6 7 8
- 后序遍历:先左再右再父 2 3 4 6 8 7 5
- 广度优先遍历
- 层次遍历:5 4 7 2 3 6 8