大话备考之数据结构综合题_大话数据结构习题,看懂这些帮你轻松解决就业问题

45 阅读5分钟

以此规则画出广度优先生成树
广度优先遍历序列:1,7,9,3,10,5,4,8,6,2

题型2 哈夫曼树题型

一组字符{A,B,C,D,E,F,G}出现的频率分别是{9,11,5,7,8,2,3,},完成以下各题:
(1)设计最经济的编码方案。
(2)求此编码方案的平均长度、

此题应该用哈夫曼树来解决
从7个数中找到最小的两个自下而上组成哈夫曼树。
在这里插入图片描述
步骤如上,最后左子树为0,右子树为1 ,容易得
A01
B10
C001
D110
E111
F0000
G0001

平均长度等于,(长度×权值)的和除以权值的和
2×9+2×11+3×5+3×7+3×8+4×2+4×3=120
120/45=8/3

题型3 哈希题型

设有一组关键字{32,13,49,24,38,21,4,12},其哈希函数为:H(key)=key % 7,采用开放地址法的线性探查法解决冲突,试在0~9的哈希地址空间中对该关键字序列构造哈希表,并求等概率下查找成功和查找失败的平均查找长度。(10分)

读题有八个关键字,0-9的哈希地址空间,
在这里插入图片描述

在这里插入图片描述

首先按照顺序将关键字加入哈希表中,
红色区域为查找次数,绿色为红色列的和,将元素个数比上17即为查找成功的值,即ASL=17/8;
此题mod7,共有0123456 ,7种可能性,
这7项每一项离空位的查找次数分别为,3,2,1,7,6,5,4.和为28,故不成功的ASL=28/7=4

题型4 堆排序

5.有一组关键字序列{66,89,8,123,9,44,55,37,200,127,98}:
(1)请将其调整成初始大根堆,并画出初始大根堆的树型表示。(5分)
在这里插入图片描述
(2)采用堆排序实现按关键字递增排序,请画出当有1个最大的关键字已放置到最终位置时,剩余关键字构成的大根堆。(5分)

在这里插入图片描述
将最终结果最大位,即200输出,200与66替换,继续调整堆,得到以上答案。

题型4 二叉树综合

有一棵二叉排序树按先序遍历得到的序列为:(12,5,2,8,6,10,16,15,18,20)。回答以下问题:
(1)画出该二叉排序树。
(2)给出该二叉排序树的中序遍历序列。
(3)求在等概率下的查找成功和不成功情况下的平均查找长度。

首先看题:
已知先序遍历,而中序遍历即为此序列的顺序排列,得中序遍历结果为(2,5,6,8,10,12,15,16,18,20)。

体干解读完成,看第一小题:

画出二叉树

先序(12,5,2,8,6,10,16,15,18,20)
中序(2,5,6,8,10,12,15,16,18,20)
第一步: 根据先序遍历可知12 为根,根据中序遍历结果从12 分为左右两部分。
第二步:看左边,左边有2,5,6,8,10,五个元素,看右边,有15,16,18,20四个元素
第三步:先序遍历中5比2 先出现,故5是2的根,以此结合顺序得到二叉树图。
在这里插入图片描述

中序遍历序列

第二题求
刚才已经给出,切记,中序序列是一个顺序序列

等概率下查找成功/不成功查找长度

第三题,在二叉树中,

img img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!