专题八-二叉树

来源:互联网 发布:云计算架构师招聘 编辑:程序博客网 时间:2024/05/21 09:31

二叉树的深层性质

二叉树的深层性质:

性质1:在二叉树的第i层最多有2^(i-1)个结点。(i>=1),第一层最多有1个,二层2个......


性质二:在深度为k的二叉树最多有2^(k)-1个结点。(k>=0)

性质三:对任何一棵二叉树,如果其叶节点有n0个,度为2的非叶节点有n2个,则有n0=n2+1




小结:理解和掌握二叉树的深层次特性有助于我们设计出更加精巧的算法。 




创建二叉树


指路法定位结点
(1)指路法通过根节点与目标结点的相对位置进行定位
(2)指路法可以避开二叉树递归性质“线性”定位

(3)用结构体来定义二叉树中的指针域
(4)二叉树的头结点也可以用结构体来定义






二叉树结构实现





遍历二叉树

什么是遍历?
(1)单链表的遍历是指从第一个节点开始的(下标为0的节点),按照某种次序依次访问每一个节点
(2)二叉树的遍历是指从根节点开始,按照某种次序依次访问二叉树中的所有结点。








线索化二叉树

问题在一些项目中需要频繁的遍历二叉树,但是二叉树的遍历比单链表的遍历复杂多了,并且递归总是会有额外开销的,能不能像链表那样方便的快速的遍历二叉树呢?









霍夫曼树



0 0
原创粉丝点击