0
点赞
收藏
分享

微信扫一扫

初入数据结构之二叉树详解

最不爱吃鱼 2022-01-31 阅读 131

什么叫做树?

树的特点

树形结构


树的相关概念

 


 

 树的表示形式

 

上图能清楚的了解孩子兄弟表示法的过程 

class Node {
    int value; // 树中存储的数据
    Node firstChild; // 第一个孩子引用
    Node nextBrother; // 下一个兄弟引用
}

代码的实现 

 树的应用

文件系统管理(目录和文件)


二叉树

什么是二叉树?

 注意:二叉树并不都是由完整的根节点 左子树 右子树 组成 ,例如:

两种特殊的二叉树 

1.满二叉树

2.

 


二叉树的性质

1. 若规定根结点的层数为1,则一棵非空二叉树的第i层上最多有 (i>0)个结点
2. 若规定只有根结点的二叉树的深度为1,则深度为K的二叉树的最大结点数是 (k>=0)
3. 对任何一棵二叉树, 如果其叶结点个数为 n0, 度为2的非叶结点个数为 n2,则有n0=n2+1
4. 具有n个结点的完全二叉树的深度k为 上取整
5. 对于具有n个结点的完全二叉树,如果按照从上至下从左至右的顺序对所有节点从0开始编号,则对于序号为i的结点有:
若i>0,双亲序号:(i-1)/2;i=0,i为根结点编号,无双亲结点
若2i+1<n,左孩子序号:2i+1,否则无左孩子
若2i+2<n,右孩子序号:2i+2,否则无右孩子

 推导过程:

1.假设一颗二叉树有N个节点,又因为任何一颗二叉树都是由 n0 n1 n2组成,即 N=n0+n1+n2 ①

2.对任何一棵树而言,如果有N个节点就会产生N-1条边 ②

3.n0:对于n0来说,不能产生任何一条边,即n0-> 0 ③

4.n1:对于n1来说,能向下产生1条边,即n0-> 1 * n1 ④

5.n2:对于n2来说,能向下产生两条边,即n0-> 2 * n2 ⑤


下篇会介绍二叉树的三种遍历方式

未完待续。。。

举报

相关推荐

数据结构之二叉树简介

07.数据结构之二叉树

0 条评论