国开放大学数据结构本科期末复习综合练习题目综合题 测验测验含答案.docx
《国开放大学数据结构本科期末复习综合练习题目综合题 测验测验含答案.docx》由会员分享,可在线阅读,更多相关《国开放大学数据结构本科期末复习综合练习题目综合题 测验测验含答案.docx(8页珍藏版)》请在冰豆网上搜索。
![国开放大学数据结构本科期末复习综合练习题目综合题 测验测验含答案.docx](https://file1.bdocx.com/fileroot1/2023-5/17/ffe01968-1d06-4804-899b-8ffbf8078c7f/ffe01968-1d06-4804-899b-8ffbf8078c7f1.gif)
国开放大学数据结构本科期末复习综合练习题目综合题测验测验含答案
开放大学数据结构(本科)期末复习综合练习题目_综合题测验含答案
试题 1
试题正文
有一个长度为11的有序表(1,2,11,15,24,28,30,56,69,70,80),元素的下标依次为:
1,2,3,……,11,按折半查找对该表进行查找。
(1)画出对上述查找表进行折半查找所对应的判定树。
(2)说出成功查找到元素56,需要依次经过与哪些元素的比较?
(3)说出不成功查找元素72,需要进行元素比较的次数?
1、
2、28,69,30,56
3、4次
反馈
(1)
(2)28,69,30,56
(3)4次
试题 2
试题正文
(1)以3,4,5,8,9,作为叶结点的权,构造一棵哈夫曼树。
(2)给出相应权重值叶结点的哈夫曼编码。
(2)n个叶结点的哈夫曼树,总共有多少个结点?
1、
2、
3:
000
4:
001
5:
01
8:
10
9:
11
3、2n-1
反馈
(1)
(2)
3:
000
4:
001
5:
01
8:
10
9:
11
(3)2n-1
试题 3
试题正文
(1)一组记录的关键字序列为(57,90,67,50,51,56),利用堆排序(堆顶元素是最小元素)的方法建立初始堆(要求以完全二叉树描述)。
(2)对关键字序列(56,51,71,54,46,106)利用快速排序,以第一个关键字为分割元素,给出经过一次划分后结果。
(3)一组记录的关键字序列为(60,47,80,57,39,41,46,30),利用归并排序的方法,分别给出(1,1)归并、(2,2)归并、(4,4)归并的结果序列。
1、
2、46,51,54,56,71,106
3、
(47,60)(57,80)(39,41)(30,46)
(47,57,60,80)(30,39,41,46)
(30,39,41,46,47,57,60,80)
反馈
(1)
(2)46,51,54,56,71,106
(3)
(47,60)(57,80)(39,41)(30,46)
(47,57,60,80)(30,39,41,46)
(30,39,41,46,47,57,60,80)
试题 4
试题正文
(1)设有数据集合{40,29,7,73,101,4,55,2,81,92,39},依次取集合中各数据构造一棵二叉排序树。
(2)在上述二叉排序树上进行查找,给出成功查找到元素92的查找路径,其中共经过了多少次元素间的的比较。
(3)有一个长度为10的有序表,按折半查找对该表进行查找,给出在等概率情况下查找成功的平均比较次数为。
1、
2、40,73,101,81,92。
共5个元素比较
3、29/10
反馈
(1)
(2)40,73,101,81,92。
共5个元素比较
(3)29/10
试题 5
试题正文
(1)以2,3,4,7,8,9作为叶结点的权,构造一棵哈夫曼树。
(2)给出相应权重值叶结点的哈夫曼编码。
(3)一组记录的关键字序列为(47,80,57,39,41,46),利用堆排序的方法建立的初始堆(堆顶元素是最小元素,以树的形式给出)。
1、
2、
2:
0000
3:
0001
4:
001
7:
10
8:
11
9:
01
3、
反馈
(1)
(2)
2:
0000
3:
0001
4:
001
7:
10
8:
11
9:
01
(3)
试题 6
试题正文
(1)一组记录的关键字序列为(36,69,46,28,30,35),给出利用堆排序(堆顶元素是最小元素)的方法建立的初始堆(要求以完全二叉树描述)。
(2)对关键字序列(36,69,46,28,30,74)采用快速排序,给出以第一个关键字为分割元素,经过一次划分后的结果。
(3)设有数据集合{30,73,101,4,8,9,2,81},依次取集合中各数据构造一棵二叉排序树。
1、28,30,35,69,36,46
2、30,28,36,46,69,74
3、
反馈
(1)28,30,35,69,36,46
(2)30,28,36,46,69,74
(3)
试题 7
试题正文
(1)已知某二叉树的后序遍历序列是debca,中序遍历序列是dbeac,试画出该二叉树。
(2)若上述二叉树的各个结点的字符分别代表不同的整数(其中没有相等的),并恰好使该树成为一棵二叉排序树,试给出a、b、c、d、e的大小关系。
(3)给出该树的前序遍历序列。
1、
2、d
3、abdec
反馈
(1)
(2)d
(3)abdec
试题 8
试题正文
(1)一组记录的关键字序列为{45,40,65,43,35,95},写出利用快速排序的方法,以第一个记录为基准得到的一趟划分的结果(要求给出一趟划分中每次扫描和交换的结果)。
(2)对序列{45,40,65,43,35,95}利用直接插入排序,写出逐次插入过程(从第一个元素一直到第六个元素)。
1、
2、
404565433595
404345653595
354043456595
反馈
(1)
(2)
404565433595
404345653595
354043456595
试题 9
试题正文
(1)设head1和p1分别是不带头结点的单向链表A的头指针和尾指针,head2和p2分别是不带头结点的单向链表B的头指针和尾指针,若要把B链表接到A链表之后,得到一个以head1为头指针的单向循环链表,写出其中两个关键的赋值语句(不用完整程序,结点的链域为next)。
(2)单向链表的链域为next,设指针p指向单向链表中的某个结点,指针s指向一个要插入链表的新结点,现要把s所指结点插入p所指结点之后,某学生采用以下语句:
p->next=s;s->next=p->next;
这样做正确吗?
若正确则回答正确,若不正确则说明应如何改写。
(1)p1->next=head2>;P2->next=head1
(2) 不对,s->next=p->next;p->next=s;
反馈
(1)p1->next=head2;p2->next=head1;
(2)不对,s->next=p->next;p->next=s;
试题 10
试题正文
(1)设根为第1层,对给定权值1,3,4,4,5,6,构造深度为5的哈夫曼树。
提示:
构造中当出现被选的结点值有多个相等时,可尝试不同组合,以得到要求的树的深度。
(2)求树的带权路径长度。
(3)用链接法存储上述哈夫曼树,结点中共有多少个指针域为空,说明理由?
(4)给出对上述哈夫曼树中序遍历得到的的序列。
(5)一棵哈夫曼树有n个非叶结点,构造该树共有多少个权重值?
简述理由?
答:
(2)WPL=3*4+1*4+4*3+6*2+4*2+5*2=58
(3)共11个结点,22个指针域除根结点外,每个结点对应一个指针域,共10个指针域非空,故有22-10=12个空指针域。
反馈
(1)
(2)WPL=1*4+3*4+4*3+6*2+4*2+5*2=58
(3)有12个空指针域,因为共11个结点,22个指针域,除根结点外,每个结点对应一个指针域,共10个指域非空,故有22-10=12个空指针域。
(针对哈夫曼树还可有其它理由)
(4)1,4,3,8,4,14,6,23,4,9,5
(5)n+1,因为叶结点比非叶结点多1。