二叉树
Posted 七里橙花
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树相关的知识,希望对你有一定的参考价值。
树的基本术语:
度:结点拥有的子树数。度为0的结点称为叶子或终端结点。度不为0的结点称为分支结点。树的度是指树内各结点的度的最大值。
树的层次:从根开始,根为第一层。树中结点的最大层次称为树的深度或高度。
树的深度和高度是相等的,而对其他节点来说深度和高度不一定相等。
某节点的深度是指从根节点到该节点的最长简单路径边的条数,而高度是指从该节点到叶子节点的最长简单路径边的条数。深度上往下,高度下往上
二叉树性质:
1.一个有k层的二叉树总结点最多有2k-1个;(满二叉树情况)
2.叶子结点最多有2k-1个;(满二叉树)
3.总结点个数
s = n0+n1+n2;
s = n0*0+n1*1+n2*2+1; 由上两式-> n0 = n2+1;
对完全二叉树(除了最后一层其他都满,最后一层结点依次左往右排没有空缺),n1 = 0 或1个;有下列两个性质
4.n个结点的完全二叉树高度k = ⌊log2 n⌋ +1(向下取整);包含n个节点的二叉树的高度至少为log2(n+1)。
5.标记0~n-1;
左子树:2i+1 <= n-1;
右子树:2i+2 <= n-1;
父亲结点范围 0~n/2-1
二叉树的遍历,深度和广度
深度:前序(根左右)中序(左根右)后序(左右根)
广度:层序遍历。先来先处理
对深度和广度两种遍历分别可以使用栈和队列来实现(非递归实现遍历)
代码待更新
以上是关于二叉树的主要内容,如果未能解决你的问题,请参考以下文章