数据结构--树和二叉树

1. 树的一些基本概念

结点的度:每个节点下面有几个。

树的度:最多的结点的度。

叶子结点:0个度

分支结点:除了叶子结点都为分支结点

内部结点:中间的结点,不是最底层也不是最高层。

父结点:相对来说,不能单独来说

子结点:相对来说,不能单独来说

兄弟结点:同一层的结点

结点=度+1

2. 树的遍历

树的遍历分为前序遍历,后序遍历和层次遍历。

前序遍历:1,2,5,6,7,3,4,8,9,10

后序遍历:5,6,7,2,3,9,10,8,4,1

层次遍历:1,2,3,4,5,6,7,8,9,10

3. 二叉树的一些相关概念和特性

二叉树的一些特性:

1.在二叉树的第i层上最多有2i-1个结点。

2.深度为k的二叉树最多为2k-1个结点。

3.对任何一棵二叉树,如果其叶子结点数为n0,度为2的节点数为n2,则n0=n2+1

4.具有n(n>0)个结点的完全二叉树的深度为 向上取整log2n+ 1

5.如果对一棵有n个结点的完全二叉树的结点按层序编号(从第1层到第向上取整log2n + 1,每层从左到右),则对任一结点i(1≤i≤n),有

(1)如果i=1,则结点i无双亲,是二叉树的根;如果i>1,则其双亲是结点向上取整i/2。

(2)如果2i>n,则结点i为叶子结点,无左孩子;否则,其左孩子是结点2i。

(3)如果2i+1>n,则结点i无右孩子;否则,其右孩子是结点2i+1.

4. 二叉树的遍历

由于二叉树自身的特点,遍历多了一种中序遍历。

前序遍历:根左右的顺序。

中序遍历:左根右的顺序。

后序遍历:左右根的顺序。

5. 树与二叉树的转换

转换之后前序遍历不会变,中序遍历和后续遍历是一样的。

6. 查找二叉树(二叉排序树)的基本定义、查找二叉树的基本操作

空二叉树也是查找二叉树。

性质:

1.若左子树非空,则左子树上所有结点的值均小于根节点;

2.若右子树非空,则右子树上所有结点的值均大于根节点。

3.左右子树本山又各是一棵二叉排序树。

7. 最优二叉树(哈夫曼树)

树的路径长度(相同结点的树完全二叉树的路径最短)

权:某个结点的具体值

带权路径长度:具体值*路径长度(叶子结点)(频度)

树的带权路径长度(树的代价):所有的带权路径长度都加起来

哈夫曼树:就是带权路径长度最短的树。

哈夫曼编码:

8. 线索二叉树

把结点的空的指针用来存放前驱结点和后继结点的信息。

9. 平衡二叉树

一棵空树,或者任一结点的左右子树的深度相差不超过1.



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值