二叉树
来源:互联网 发布:js原型继承面试题 编辑:程序博客网 时间:2024/05/24 01:58
定义:
二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。如图:
特点:
1.二叉树结点的最大度数为2;( 树中结点的最大度数没有限制)
2. 二叉树的结点有左、右之分。(树的结点无左、右之分)
二叉树的五种基本形态
空二叉树,只有一个根结点,根结点只有左子树,根结点只有右子树,根结点既有左子树又有右子树
两个节点的二叉树共有五种形态满二叉树:
在一棵二叉树中,如果所有分支结点都存在左子树和右子树,并且所有叶子都在同一层上,这样的二叉树称为满二叉树。
满二叉树的特点有:
叶子只能出现在最下一层。
非叶子结点的度一定是2。
在同样深度的二叉树中,满二叉树的结点个数一定最多,同时叶子也是最多。
完全二叉树
对一棵具有n个结点的二叉树按层序编号,如果编号为i(1<=i<=n)的结点与同样深度的满二叉树中编号为i的结点位置完全相同,则这棵二叉树称为完全二叉树。
完全二叉树的特点有:
注意:满二叉树一定是完全二叉树,但完全二叉树不一定是满二叉树。叶子结点只能出现在最下两层。
最下层的叶子一定集中在左部连续位置。
倒数第二层,若有叶子结点,一定都在右部连续位置。
如果结点度为1,则该结点只有左孩子。
同样结点树的二叉树,完全二叉树的深度最小。
二叉树性质:
一、在二叉树的第i层上至多有2^(i-1)个结点(i>=1)
二、深度为k的二叉树至多有2^k-1个结点(k>=1)
三、对任何一棵二叉树T,如果其终端结点数为n0,度为2的结点数为n2,则n0=n2+1
四、具有n个结点的完全二叉树的深度为⌊log₂n⌋+1
五、如果对一棵有n个结点的完全二叉树(其深度为⌊log₂n⌋+1)的结点按层序编号,对任一结点i(1<=i<=n)有以下性质:
0 0
- 二叉树、二叉堆
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 二叉树
- 杭电2028 一系列数的最小公倍数
- [综合面试] 牛人整理分享的面试知识:操作系统、计算机网络、设计模式、Linux编程,数据结构总结
- vs2008 字符串定义乱码之解决方案
- Point-in-Time (Incremental) Recovery Using the Binary Log
- HDOJ 题目1717 小数化分数2(数学)
- 二叉树
- 最简单的GIS代码分享
- opera, chrome调试wap网站
- sqlite3 --sql命令简单介绍
- PyGObject笔记1——用Python写图形界面
- MyEclipse中删除添加的Hibernate Capabilities
- 《从程序员到项目经理》读后感-金子何时发光
- Why MySQL replication is better than mysqlbinlog for recovery
- [综合面试] 面试70问 经典回答