1. 二叉树理论基础
1.1 二叉树的种类
- 满二叉树: 每一个节点的子节点都为0或2
- 完全二叉树: 除了最底层的结点,其他结点每层节点数都达到最大值
- 二叉搜索树:所有左结点的值都小于根结点
- 平衡二叉树: 左右两个子树高度最大值不能超过1
1.2 二叉树存储方式
顺序存储
顺序存储的元素在内存中是连续分布的,通常用数组来存储。如果父节点的数组下标是 root,那么它的左孩子就是 root * 2 + 1,右孩子就是 root * 2 + 2。
1.3 二叉树的遍历方式
-
深度优先遍历
-
前序遍历,中序遍历, 后序遍历
-
广度优先遍历
-
层序遍历
二叉树的定义
Struct twoTreeNode{
int value;
twoTreeNode *left;
twoTreeNode *right;
twoTreeNode(int x): val(x),left(NULL),right(NULL);
}