数据结构常考知识点
工具
树
- 二叉树基本性质: 结点度为0的个数 = 结点度为2个数 +1
- 前序遍历:根节点 -> 左节点 -> 右节点
- 中序遍历:左节点 -> 根节点 -> 右节点
- 后序遍历:左节点 -> 右节点 -> 根节点
- 遍历技巧,以根节点的遍历结果将左右节点一份为二。
图
广度优先:从一个顶点 (A) 开始,遍历与 (A) 相连的顶点,并记录这些顶点遍历顺序(B,C,D)。遍历 (A) 后从刚刚记录的遍历顺序第一个(B) 开始遍历与(B)相连的顶点,遍历(B)后开始遍历(C )
····深度优先:从一个顶点(A )开始,选择一个相连的顶点(B ),然后再选择与(B)相连的顶点(C),假设 (C)无除 (B)之外的顶点相连,就回退到 (B)顶点,选择与(B)相连的另一个顶点(D),假设 (D)无除 (B)之外的顶点相连,那就回退到(B),假设与 (B )相连只有 (B)(C)两个顶点,那就回退到 (A) 寻找另一个与 (A)相连的顶点·······
拓扑排序序列:
- 意义:用来计算做事的顺序,比如人类早晨穿衣的过程。他必须先穿好某些衣服,才能再穿其他衣服(如先穿袜子后穿鞋),其他一些衣服则可以按任意次序穿戴(如袜子和裤子)
- 算法:不断选取入度为0的节点,然后将其后继节点的入度减一,如果后继节点度为 0 则取出。