二叉树
链表的定义是当前节点唯一指向下一个节点(指针域),当一个节点的指向,可以最多指向两个节点(指针域)叫做二叉树。
- 每个节点最多有两个指针域
- 指针域为0的节点比指针域为2的节点多一个
- 树中将指针域分为左节点和右节点
- 树中将节点有几个子节点叫做有几个度
- N个节点的树有N-1条边
二叉树的遍历
- 前序遍历,根左右。
- 中序遍历,左根右
- 后续遍历,左右根
二叉树的类型
- 完全二叉树,指在最后一层树中只有右侧为空。特点:1、编号为i的子节点。左孩子编号:2 * i,右孩子编号:2 * i+ 1,2、可以用连续空间存储。
- 满二叉树,没有度为1的节点。
- 完美二叉树,树每一层节点都是满的。
树结构的深入理解
- 树中节点和边实际代表什么,节点:集合,边:关系,父节点代表全集,边代表子集和父集的关系,而子集之间性质互不相同,但是子集相加等于父集
- 树结构主要应用于各种场景下的查找操作。
学习二叉树的作用
- 理解高级数据结构的基础
- 练习递归技巧的最佳选择,递归学习思路:数学归纳法-> 结构归纳法、赋予递归函数一个明确的意义、思考边界条件、实现递归过程。
- 左孩子右兄弟表示法节省空间(任何树都可以转换为二叉树)。