数据结构与算法基础

1、树的度,表示的结点间相互连接

一棵树中所有结点的个数为n,树中的度为k,则n=k+1;

2、二叉树的重要特性:

  1、在二叉树中第i层上最多有2^(i-1)个结点(i>=1)

2、第一条推理:深度为k的二叉树,最多有2^k-1个结点。2^0+2^1+2^2+2^3=2^4-1=15

3、对于任何一棵二叉树,如果其叶子结点数为n0,度为2的结点数为n2,则n0=n2+1;总结点数n=n1+n2+n0,又根据度数和结点数之间的关系n=k+1=n1X1+n2X2+1,所以n1+n2+n0=n1+2Xn2+1得出 n0=n2+1

4、二叉树的重要特性:

备战软考的需要:做软考题一定要细心,涉及到图的画图,涉及到公式的列公式,不能省略,否则极易想当然。 

如:2016年上半年

第59题:若一棵二叉树的高度(即层数)为h,则该二叉树(59)。

A. 2 ^h 个结点
B. 有2 ^h -1个结点

C. 最少有2 ^(h-1 个结点
D. 最多有2^ h-1个结点

答:看第一条推理

对于一棵完全二叉树,n个结点按层次编号则:

如果i=1;则i是无父结点,是二叉树的根,如果i>1;则父结点是i/2 下取整

如果2i>n,则i为叶子结点,无左孩子结点,否则,其左孩子结点为2I。

如果2i+1>n,则i无右孩子结点,否则,右孩子结点为2i+1。

3、树与二叉树的转换,原则是:

树的孩子结点全部转成二叉树的左子树

树的兄弟结点全转成二叉树的右子树

转换成树的先根与二叉树先根顺序一致,二叉树中根与树的后序顺序一致。


4、查找二叉树,满足以下递归条件:

二叉排序树的左右子树都是一棵查找树

左子树上的点都小于根结点

右子树上的点都大于根结点。其实就是中序遍历。

5、最优二叉树,哈夫曼树

树的带权路径长度,各条路径的权值之和,完全二叉树的带权路径长度是最短的

权值,代表计算机访问这个结点的频度。

6、线索二叉树存在的原因:二叉树一般用链表表示。L data r这种形式。N个结点,需要的存储空间为2N个指针,其中真正指示关系就N-1个,剩下的N+1个指针都是NULL,造成空间的浪费。

表示:Lbit Lchild data Rchild Rbit ,Lbit /Rbit只占用一个位,1代表的是索引,指示此结点的前驱和后继结点;0代表指针,指向其左,右孩子结点。

 线索化的实质就是将二叉链表中的空指针改为指向前驱或后继的线索。由于前驱和后继信息只有在遍历该二叉树时才能得到,所以,线索化的过程就是在遍历的过程中修改空指针的过程。

线索化的过程如下:

 

 

 


7、平衡二叉树(平衡查找树)存在的原因:平衡其实是对二叉排序树结构是否合理的一个指标。任意一结点的左子树,右子树的深度相差不超过1.一定是任意结点,而不是只看根结点。

平衡树调整,其实就是根据排序树的规则来调整。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

guangod

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值