最新电大数据结构(本)综合题 精选

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、综合题(每小题10分,共30分)
1.设查找表为
(7,15,21,22,40,58,68,80,88,89,120),元素的下
标依次为1,2,3, (11)
(1)画出对上述查找表进行折半查找所对应的
判定树(树中
结点用下标表
示)图4
(2)说明成功查
找到元素40
需要经过多少
次比较?4次
(3)求在等概率
条件下,成功
查找的平均比较次数?
ASL=(1+2*2+3*4+4*4)/11=3
2.(1)如果二叉树中任一结点的值
均大于其左孩子的值、小于其右
孩子的值,则该树为二叉排序
树,这种说法是否正确?若认为
正确,则回答正确,若认为不正
确,则举例说明。

不正确。

例(图5)
(2)设有数据集合
{40,29,7,73,101,4,55,2,81,92,39},依次取集合中
各数据,构造
一棵二叉排序
树。

图6
3.(1)以2,3,4,7,8,9作为叶结点的权,构造一棵
哈夫曼
树,给出
相应权重
值叶结点
的哈夫曼
编码。

图7
2:0000
3:0001
4:001
7:10
8:11
9:01
(2)一棵哈夫曼树有n个叶结点,它一共有多
少个结点?简述理由?2n-1个,因为非叶结点
数比叶结点数少一个
1.一组记录的关键字序列为(46,79,56,38,40,84)
(l)利用快速排序的方法,给出以第一个记录
为墓准得到的一次划分结果。

(给出逐次交换
元素的过程,要求以升序排列)
初始序列46,79,56,38,40,84
40,79,56,38,40,84
40,79,56,38,79,84
40,38,56,38,79,84
40,38,56,56,79,84
40,38,46,56,79,84
(2)对上述序列用堆排序的方法建立大根堆,
要求以二叉树逐次描述建堆过程。

2.设查找表为(16,15,20,53,64,7)
(1)用冒泡法对该表进行排序(要求升一序排
列),要求写出每一趟的排序过程,通常对n个
元素进行冒泡排序要进行多少趟冒泡?第j趟要
进行多少次元素间的比较?
(2)在排序后的有序表的基础上,画出对其进行
折半查找所对应的判定树。

(要求以数据元素作
为树结点)
(3)求在等概率条件下,对上述有序表成功查找的
平均查找长度。

平均查找长度=(1*1+2*2+3*3)/6=14/6
3. (1)“一棵二叉树若它的根结点的值大于左子
树所有结点的值,小于右子树所有结点的值,
则该树一定是二叉排序树”。

该说法是否正确,
若认为正确,则回答正确,若认为不正确则说
明理由?不正确,二叉排序树要求其子树也是
二叉排序树。

(2)设有查找表{7,16,4,8,20,9,6,18,5),依次取表
中数据构造
一棵二叉排
序树。

对上
述二叉树给
出后序遍历
的结果。

后续遍历
5,6,4,9,8,18,20,16,7
1.设一组记录的关键字序列为
(49,83,59,41,43,47),采用堆排序算法完成以下
操作:(要求小根堆,并画出中间过程)
(1)以二叉树描述6个元素的初始堆;
(2)以二叉树描述逐次取走堆顶元素后,经调整得
到的5个元素、4个元素的堆。

2.设有序表为
(13,19,25,36,48,51,63,84,91,116,135,20
0),元素的下标依次为1,2, (12)
(1)说出有哪几个元素需要经过4次元素
间的比较才能成功查到;
19,48,84,116,200
(2)画出对上述有序表进行折半查找所对
应的判定树(树结点用下标表示);
(3)设查找元素为5,需要进行多少次元素
间的比较才能确定不能查到。

3次
3.(1)对给定数列{7,16,4,8,20,9,6,18,5},依
次取数
列中的
数据,
构造一
棵二叉
排序
树。

(2)对一个
给定的
查找
值,简
述针对
二叉排
序树进行查找的算法步骤,在上述二
叉树中查找元素20共要进行多少次元
素的比较?先将给定值与根结点比较,
若相等则查找成功,否则若小于根结
点则在左子树中继续查找,大于根结
点在右子树中查找,查找20共进行3
次比较。

1.(1)已知某二叉树的先序遍
历序列是aecdb,中序遍历序
列是eadcb,试画出该二叉树。

(2)给出上述二叉树的后序遍
历序列。

edbca.
(3)若上述二叉树的各个结点
的字符分别是
1,2,3,4,5,并恰好使该树
成为一棵二叉排序树,试问a,b,c,d,e的
值各为多少?
e=l,a=2,d=3,c=4,b=5
2.(l)给定数列{8,17,5,9,21,10,7,19,6),依次
取序列中的数构造丫棵二叉排序树。

(2)对上述二叉树给出中序遍历得到的
序列。

5,6,7,8,9,10,1,18,19,21
3.(1)以给定权重值1,2,12,13,20,25为叶
结点,建立一棵
哈夫曼树。

(2)幻若哈夫曼树
有n个非叶子结
点,则树中共有
多少结点。

对给
定的一组权重值建立的棵哈夫曼树是否一
定唯一。

2n-1不一定唯一
1.(1)一组记录的关键字序列为
{45,40,65,43,35,95}写出利用快速排序的方
法,以第一个记录为基准得到的一趟划分的
结果(要求给出一趟划分中每次扫描和交换
的结果)。

45 40 65 43 35 95
35 40 65 43 35 95
35 40 65 43 65 95
35 40 43 43 65 95
35 40 43 45 65 95
(2)同样对序列{45,40,65,43,35,95}利用直接插
入排序,写出逐次插入过程(从第一个元素一
直到第六个元素)。

40 45 65 43 35 95
40 43 45 65 35 95
35 40 43 45 65 95
2.(1)利用筛选过程把序列
{42,82,67,102,16,32,57,52}建成堆(小根堆儿
画出相应的完全二叉树(不要求中间过程)。

(2)写出对上述堆对应的完全二叉树进行中序
遍历得到的序列。

102 ,52 ,42 ,82 ,16 ,67 ,32 ,57
3. (1)设有一个整数序列{50,38,16,82,110, 13,
64},依次取出序列
中的数,构造一棵二
叉排序树。

右图
(2)利用上述二叉排
序树,为了查找110,
经多少次元素间的
比较能成功查到,为
了查找15,经多少次
元素间的比较可知
道查找失败。

三次; 四次
1.(1)已知某二叉树的后序遍历
序列是debca,中序遍历序列是
dbeac,试画出该二叉树。

右图
(2)若上述二叉树的各个结点的
字符分别代表不同的整数(其
中没有相等的),并恰好使该
树成为一棵二叉排序树,试给
出a、b、c、d、e的大小关系。

d<b<e<a<c
(3)给出该树的前序遍历序列。

abdec
2.(1)设有一个整数序列
{40,28,6,72,100,3,54}依次
取出序列中的数,构造一
棵二叉排序树。

右图
(2)对上述二叉排序树,在等
概率条件下,求成功查找
的平均查找长度。

ASL=(1*1+2*2+3*3+4)/7
=18/7
3.(1)利用筛选过程把序列
{42,82,67,102,16,32,57,52}建成堆(小根堆儿
画出相应的完全二叉树(不要求中间过程)。

(2)写出对上述堆对应的完全二叉树进行中序遍
历得到的序列。

102,52,42,82,16,67,32,57
1.(1)设head1和p1分别是不带头结点的单向链表
A的头指针和尾指针,head2和p2分别是不带头
结点的单向链表B的头指针和尾指针,若要把B
链表接到A链表之后,得到一个以head1为头指
针的单向循环链表,写出其中两个关键的赋值
语句(不用完整程序,结点的链域为next)
p1->next=head2; p2->next=head1;
(2)单向链表的链域为next,设指针p指向单向链
表中的某个结点,指针S指向一个要插入链表
的新结点,现要把s所指结点插入p所指结点之
后,某学生采用以下语句:
p->next==s; s->next==p->next;
这样做正确吗?若正确则回答正确,若不正确则
说明应如何改写.
不对,s->next=p->next; p->next=s;
2.(1)画出对长度为10的有序表进行折半查找的
判定树(以序号
1,2,……10表示
树结点)。

右图
(2)对上述序列进
行折半查找,求
等概率条件下,
成功查找的平均
查找长度。

ASL=(l*l+2*2+3*4+4*3)/10==29/10
3.(1)利用筛选法,把序列{37,77,62,97,11,27,52,47}
建成堆(小根堆),画出相应的完全二叉树。

(2)写出对上述堆所对应的二叉树进行前序遍历
得到的序列.
11,37,47,97,77,27,62,52。

相关文档
最新文档