树中相关计算

来源:互联网 发布:汪峰 知乎 编辑:程序博客网 时间:2024/06/05 23:02

1.在一棵度为4的树T中,若有20个度为4的结点,10个度为3的结点,1个度为2的结点,10个度为1的结点,则树T的叶节点个数是(82)
分析:除了根节点之外,树的每个节点都有唯一的一个入度,因此计算出共有多少个出度,再加1就是树中总的节点数目。也就是20*4+10*3+1*2+10*1+1=123个
而四叉树里节点就5类,有4个孩子的,有3个孩子的,有2个孩子的,有1个孩子的,没有孩子的,现在前4类的数目知道了,是20+10+1+10=41,那么没有孩子的节点自然就是123-41=82个。
2.二叉排序树:
已知数据元素为(34,76,45,18,26,54,92,65),按照依次插入节点的方法生成一棵二叉排序树,则该树的深度为(5)
根据二叉排序树的性质:
(1)若左子树不空,则左子树上所有结点的值均小于它的根结点的值;
(2)若右子树不空,则右子树上所有结点的值均大于它的根结点的值;
(3)左、右子树也分别为二叉排序树;
所以根据性质:第一个数34为根节点;
第二个树:76>34,所以为34的右孩子;
第三个数45:因为34<45<76,所以45为76的左孩子;
第4个数18:18<34所以为根节点的左孩子;
第五个数26:因为18<26<34,所以26在根节点的左子树上且为节点18的右孩子;
第六个数54:因为54>34,所以在根节点的右子树上,又45<54<76,所以54为45的右孩子;
第7个数92:因为92>76>34,所以92为76的右孩子;
第8个数65:首先64>34,所以为右子树上的节点,又65<76,所以为76左子树上的节点,又65>54>45,所以为54的右孩子。
这里写图片描述
3.若X是二叉树中序线索树中有一个左孩子的结点,且X不为根,则x的前驱为X的左子树中最右结点
4.在有序表(5,8,36,48,50,58,88)中二分查找字58时所需进行的关键字比较次数是(),对应的判定树高度为(). 2,3
根据有序表建立二叉排序树
48
/ \
8 58
/ \ / \
5 36 50 88
58在第二层,也就是第二次比较就可以确定了
BST的高度为3,也就是最多要经过3次排序
所以最终结果为 2,3
5.若向平衡二叉树中插入一个新结点后破坏了平衡二叉树的平衡性。首先要找出插入新结点后失去平衡的最小子树根结点的指针。然后再调整这个子树中有关结点之间的链接关系,使之成为新的平衡子树。当失去平衡的最小子树被调整为平衡子树后,原有其他所有不平衡子树无需调整,整个二叉排序树就又成为一棵平衡二叉树。
失去平衡的最小子树是指以离插入结点最近,且平衡因子绝对值大于 1 的结点作为根的子树。假设用 A 表示失去平衡的最小子树的根结点,则调整该子树的操作可归纳为下列四种情况。
这里写图片描述
这里写图片描述
平衡化靠的是旋转。 参与旋转的是 3 个节点(其中一个可能是外部节点 NULL ),旋转就是把这 3 个节点转个位置。注意的是,左旋的时候 p->right 一定不为空,右旋的时候 p->left 一定不为空,这是显而易见的。
如果从空树开始建立,并时刻保持平衡,那么不平衡只会发生在插入删除操作上,而不平衡的标志就是出现 bf == 2 或者 bf == -2 的节点。
6.设一棵m叉树中度数为0的结点数为N0 ,度数为1的结点数为Nl ,……,度数为m的结点数为Nm,则N0=()。l+N2+2N3+3N4+……+(m-1)Nm
m叉树总的指针数为N1 + 2N2 + …+mNm
总的节点数为N 0 +N1 + N2 + …+Nm ,需要的指针数为N 0 +N1 + N2 + …+Nm -1
以上两式相等得出N 0 =1+ N2 + 2N3…+(m-1)Nm
7.这里写图片描述
8.二叉排序树的构造过程:按照给定序列,以此将结点插入二叉排序树中,在二叉排序树中插入新结点,要保证插入后的二叉树仍符合二叉排序树的定义。

  插入过程:若二叉排序树为空,则待插入结点*S作为根结点插入到空树中;

  当非空时,将待插结点关键字S->key和树根关键字t->key进行比较,

  若s->key = t->key,则无须插入,若s->key< t->key,则插入到根的左子树中,

  若s->key> t->key,则插入到根的右子树中。而子树中的插入过程和在树中的插入过程相同,

  如此进行下去,直到把结点*s作为一个新的树叶插入到二叉排序树中,或者直到发现树已有相同关键字的结点为止。
  说明:

  ① 每次插入的新结点都是二叉排序树上新的叶子结点。

  ② 由不同顺序的关键字序列,会得到不同二叉排序树。

  ③ 对于一个任意的关键字序列构造一棵二叉排序树,其实质上对关键字进行排序。
查找的过程类似,从根结点开始进行比较,小于根结点的在左子树上,大于根结点的在右子树上,以此查找下去,直到查找成功或不成功(比较到叶子结点)。
9.假定一棵度为3的树中结点数为50,则其最小高度为 5
分析:高度为n的三叉树的结点数:
1+3+32+…+3n-1=(3n-1)/2
由题意:(3n-1)/2=50
则,n=log3101取上整,结果为5
10.假设用于通信的电文由 5 个字母组成,字母在电文中出现的频率分别为 2,4,5,7,8 根为第一层,用这 5 个字母设计哈弗曼树带权路径长度为(58)
这里写图片描述
带权路径长度=(2+4)*3+(5+7+8)*2=58

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 怀孕20天不想要怎么办 换轮胎胎压监测怎么办 怀孕了吐的厉害该怎么办 怀孕吐完嗓子疼怎么办 怀孕16周不想要怎么办 怀孕四个月胎盘低置怎么办 孕37周胎盘三级怎么办 孕37周胎盘老化怎么办 怀孕22周胎盘1级怎么办 婴儿吃奶粉吐奶怎么办 宝宝吐奶又拉稀怎么办 羊水穿刺21三体怎么办 开始长妊娠纹了怎么办 已经长了妊娠纹怎么办 孕晚期长妊娠纹怎么办 妊娠纹长出来了怎么办 没提前预约四维怎么办 ct检查冠脉钙化怎么办 残角子宫有内膜怎么办 怀孕了长痔疮了怎么办 人流后子宫内膜薄怎么办 多囊子宫内膜薄怎么办 6岁儿童不爱睡觉怎么办 初生儿嗓子哑了怎么办 6岁儿童睡眠不好怎么办 8岁儿童睡眠不好怎么办 1个月婴儿睡眠少怎么办 三岁宝宝心跳快怎么办 宝宝右心房稍大怎么办 胎儿右心房偏大怎么办 胎心监测波动小怎么办 怀孕6个月不想要了怎么办 高敏肌钙蛋白t高怎么办 龟头沟槽里长疙瘩怎么办 肝郁气滞的体质怎么办 手指甲长在肉里怎么办 甲床与指甲脱离怎么办 指甲往肉里面长怎么办 指甲和肉分离是怎么办 大脚趾指甲空了怎么办 脚趾甲长在肉里怎么办