概念
- 二叉树(binary tree)是每个节点最多只有两个分支(即不存在分支度大于2的节点)的结构树。通常分支被称为“左子树”和“右子树”,左子树和右子树的位置不能随意颠倒。二叉树的第i层 最多有
个节点;
- 满二叉树:深度为k的二叉树至多 总共有
个节点(定义根节点所在的深度
);当深度为k的二叉树有
个节点时,称为“满二叉树”。
- 完全二叉树:一棵二叉树至多只有最下面的两层上的结点的度数可以小于2,并且最下层上的结点都集中在该层最左边的若干位置上,则此二叉树成为完全二叉树,并且最下层上的结点都集中在该层最左边的若干位置上,而在最后一层上,右边的若干结点缺失的二叉树,则此二叉树成为完全二叉树 。
遍历
前(先)序、中序、后序遍历
遍历二叉树:L、D、R分别表示遍历左子树、访问根结点和遍历右子树,则先(根)序遍历二叉树的顺序是DLR,中(根)序遍历二叉树的顺序是LDR,后(根)序遍历二叉树的顺序是LRD。还有按层遍历二叉树。这些方法的时间复杂度都是O(n),n为结点个数。
对二叉树:进行遍历,
先序(前序):1、2、4、8、9、5、10、11、3、6、12、13、7、14、15
中序:8、4、9、2、10、5、11、1、12、6、13、3、14、7、15
后序:8、9、4、10、11、5、2、12、13、6、14、15、7、3、1