数据结构复习剖析.docx
- 文档编号:11160543
- 上传时间:2023-02-25
- 格式:DOCX
- 页数:35
- 大小:112.49KB
数据结构复习剖析.docx
《数据结构复习剖析.docx》由会员分享,可在线阅读,更多相关《数据结构复习剖析.docx(35页珍藏版)》请在冰豆网上搜索。
数据结构复习剖析
填空题(结果由小到大排列)
1.一组记录的关键字为(5,6,2,4,3,1),利用简单选择排序的方法,经过第1趟排序后,其关键字序列为1(62435)
经过第2趟排序后,其关键字序列为12(6435)
经过第3趟排序后,其关键字序列为123(465)
2.一组记录的关键字为(5,6,2,4,3,1),利用直接插入排序的方法,经过第1趟排序后,其关键字序列为(56)2431
经过第2趟排序后,其关键字序列为(256)431
经过第3趟排序后,其关键字序列为(2456)31
3.一组记录的关键字为(38,5,19,26,49,97,1,66),利用冒泡排序,经过第1趟排序后,其关键字序列为51926384916697
经过第2趟排序后,其关键字序列为51926381496697
经过第3趟排序后,其关键字序列为51926138496697
4.一组记录的关键字为(265,301,751,129,937,863,742,694,76,438),利用快速排序的方法,经过一次划分后,其关键字序列为
76129265751937863742694301438
5.一组记录的关键字为(265,301,751,129,937,863,742,694,76,438),利用归并排序的方法
经过第1趟排序后,其关键字序列为
26530112975186393769474276438
经过第2趟排序后,其关键字序列为
12926530175169474286393776438
经过第3趟排序后,其关键字序列为
12926530169474275186393776438
珊珊的练习题
选择题
1.数据结构DS(DataStruct)可以被形式地定义为DS=(D,R),其中D
是的有限集合,R是D上的有限集合。
A.数据对象B.数据元素C.操作D.关系
2.数据在计算机内有链式和顺序两种存储方式,在存储空间使用的灵活性
上,链性存储要比顺序储存要
A.低B.高C.相同D.不一定
3.计算机算法指的是,它具备输入、输出和等五个特性。
A.计算方法
B.解决问题的有限运算序列
C.可行性、确定性和有穷性
D.确定性、有穷性和稳定性
4.下面程序段执行后变量count的值为()。
intcount=0;
for(inti=1;i<=10;i++)
count=count+i*10;
A.250B.350C.450D.550
5.线性表的顺序存储结构是一种的存储结构,而链式存储结构是一种___的存储结构。
A.随机存取B.索引存取C.顺序存取D.散列存取
6.线性表若采用链式存储结构时,要求内存中可用存储单元的地址___。
A.必须是连续的B.部分地址必须是连续的
C.一定是不连续的D.连续或不连续都可以
7.在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q和p之间插入s结点,则执行____。
A.s->next=p->next;p->next=s;B.p->next=s->next;s->next=p;
C.q->next=s;s->next=p;D.p->next=s;s->next=q;
8.在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行____。
A.s->next=p;p->next=s;B.s->next=p->next;p->next=s;
C.s->next=p->next;p=s;D.p->next=s;s->next=p;
9.在一个单链表中,若删除p所指结点的后续结点,则执行____。
A.p->next=p->next->next;B.p=p->next;p->next=p->next->next;
C.p->next=p->next;D.p=p->next->next;
10.链表不具备的特点是____。
A可随机访问任何一个元素B插入、删除操作不需要移动元素
C无需事先估计存储空间大小D所需存储空间与线性表长度成正比
11.一个队列的数据入列序列是1,2,3,4,则队列的出队时输出序列是____。
A4,3,2,1B1,2,3,4C1,4,3,2D3,2,4,1
12.一个队列的数据入列序列是1,2,3,4,把队列的数据出队后压入一个栈中,当队列为空时再把数据从栈中弹出,数据的出栈序列是____。
A4,3,2,1B1,2,3,4C1,4,3,2D3,2,4,1
13.判断一个表达式中左右括号是否匹配,采用____实现较为方便。
A线性表的顺序存储B队列C线性表的链式存储D栈
14.栈与一般线性表区别主要在方面。
A元素个数B元素类型C逻辑结构D插入、删除元素的位置
15.在一个链队中,假设F和R分别是队首和队尾指针,则数据出队的运算是。
AR=F->next; BR=R->next; CF=F->next; DF=R->next;
填空题(排序结果由小到大排列)
6.数据元素是数据的基本单位,有些情况下它也称为元素、结点、记录。
7.数据项是数据的不可分割的最小单位。
8.数据结构按逻辑结构可分为线性结构和非线性结构。
9.一组记录的关键字为(5,6,2,4,3,1),利用简单选择排序的方法,经过3趟排序后,其关键字序列为1,2,3,4,6,5
10.一组记录的关键字为(5,6,2,4,3,1),利用直接插入排序的方法,经过3趟排序后,其关键字序列为2,4,5,6,3,1
11.一组记录的关键字为(38,5,19,26,49,97,1,66),利用冒泡排序的方法,经过3趟排序后,其关键字序列为5,19,26,38,1,49,66,97
12.一组记录的关键字为(265,301,751,129,937,863,742,694,76,438),利用快速排序的方法,经过3趟排序后,其关键字序列为76,129,265,438,301,694,742,751,863,937
13.一组记录的关键字为(265,301,751,129,937,863,742,694,76,438),利用归并排序的方法,经过3趟排序后,其关键字序列为129,265,301,694,742,751,863,937,76,438
14.在一个长度为n的顺序表中删除第i个元素,要移动N-I个元素。
如果要在第i个元素前插入一个元素,要后移N-I+1个元素。
15.栈操作数据的原则是后进先出,队列操作数据的原则是先进先出。
16.在栈中,可进行插入和删除操作的一端称栈顶。
17.栈和队列都是__线性__结构;对于栈只能在_栈顶___插入和删除元素;对于队列只能在__队尾__插入元素和___队头_删除元素。
18.计算机在运行递归程序时,要用到系统提供的栈。
19.表达式a*(b+c)-d的后缀表达式是abc+*d-
20.若a=1,b=2,c=3,d=4,则后缀式db/cc*a-b*+的运算结果为_18
21.设将整数1,2,3,4进栈,若入、出栈次序为Push,Pop,Push,Push,Pop,Pop,Push,Pop,则出栈的数字序列为1324;若想得到出栈序列1432则具体操作为:
Push,Pop,Push,Push,Push,Pop,Pop,Pop
22.在采用少用一个存储空间的具有n个单元的循环队列中,队满时共有n-1个元素。
对于下图所示的循环队列,队满的条件是front=(rear+1)%MAXSIZE;队空的条件是rear=front
23.一棵有n个结点的满二叉树有__0_个度为1的结点、有__(n-1)/2_个分支(非终端)结点和__(n+1)/2_个叶子,该满二叉树的深度为_log2(n+1)__。
24.
写出下图二叉树的先序遍历结果ABDCEFJ中序遍历结果DBAECJF、后序遍历结果DBEJFCA
第九周:
排序练习
插入排序:
初始数据:
3020504060
1.30
2.2030
3.203050
4.20304050
5.2030405060
选择排序:
初始数据:
3020504060
1.2030504060
2.2030504060
3.2030405060
4.2030405060
第十二周:
查找练习
1、已知散列表地址区间为0~10,哈希函数为H(k)=k%ll,给定关键字序列(16,13,20,18,23,15,31,45,56)。
分别采用线性探测法和链接法,将以上关键字依次存储到哈希表中。
请描述出散列地址的计算过程及最后得到的散列表。
0
1
2
3
4
5
6
7
8
9
10
23
13
45
15
16
56
18
20
31
线性探测法:
H(k)=k%:
ll
第一趟
K=16
H(16)=5
第二趟:
K=13
H(13)=2
第三趟:
K=20
H(20)=9
第四趟:
K=18
H(18)=7
第五趟:
K=23
H(23)=1
第五趟:
K=15
H(15)=4
第六趟:
K=31
H(31)=9
由于与20发生冲突,H(31)=(31+1)/11.即H(31)=10
第七趟:
K=45
H(45)=1
由于与23发生冲突,H(45)=(45+1)/11.即H(45)=2
但又与13发生冲突,H(45)=(45+2)/11.即H(45)=3
第八趟:
K=56
H(56)=1
由于与23发生冲突,H(45)=(45+1)/11.即H(45)=2
但又与13发生冲突,H(45)=(45+2)/11.即H(45)=3
但又与45发生冲突,H(45)=(45+3)/11.即H(45)=4
但又与15发生冲突,H(45)=(45+4)/11.即H(45)=5
但又与16发生冲突,H(45)=(45+5)/11.即H(45)=6
链接法:
0
^
1
56
^
45
23
2
13
^
3
^
4
15
^
5
16
^
6
^
7
18
^
8
^
9
30
^
20
10
^
2、考虑散列表的查找方法,试完成以下两题
⑴已知哈希函数为H(k)=k%ll,线性探测法解决冲突,散列表状态如下:
0
1
2
3
4
5
6
7
8
9
10
23
13
45
15
16
56
18
20
31
请描述出关键字45和5的查找过程及结果。
查找45:
H(K)=K%11
K=45
H(45)=1
由于23不等于45,即H(45)=(45+1)/11=2
由于13不等于45,即H(45)=(45+2)/11=3
由于H(45)=3时,查找成功.比较次数为3
查找5
K=5
K(5)=5
由于16不等于5,即H(5)=(5+1)/11=6
由于56不等于5,即H(5)=(5+1)/11=7
由于18不等于5,即H(5)=(5+1)/11=8
由于H(8)为空,所以关键字5一定不在哈希表中..
⑵已知哈希函数为H(k)=k%ll,线性探测法解决冲突,散列表状态如下:
0
1
2
3
4
5
6
7
8
9
10
33
23
13
45
15
16
56
18
19
20
31
请描述出关键字50的查找过程及结果。
H(K)=K%11
K=50
H(50)=6
由于56不等于50,即H(50)=(50+1)/11=7.
由于18不等于50,即H(50)=(50+2)/11=8
由于19不等于50,即H(50)=(50+3)/11=9
由于20不等于50,即H(50)=(50+4)/11=10
由于31不等于50,即H(50)=(50+5)/11=0
由于33不等于50,即H(50)=(50+6)/11=1
由于23不等于50,即H(50)=(50+7)/11=2
由于13不等于50,即H(50)=(50+8)/11=3
由于45不等于50,即H(50)=(50+9)/11=4
由于15不等于50,即H(50)=(50+10)/11=5
由于16不等于50,即H(50)=(50+11)/11=6
由于游历一遍后,亦没有查找关键字50,即查找失败..
第十三周:
数的遍历
1、分别写出下面二叉树的层次、先序、中序、后序遍历的次序。
H
层次:
ABCDEFGH
先序:
ABDFGCEH
中序:
BFDGAEHC
后序:
FGDBHECA
2、画出上面二叉树的二叉链的链式结构
A
ROOT
^
B
C
^
^
E
D
^
H
^
^
F
^
^
G
^
3、给出一颗二叉树的后序遍历和中序遍历的次序,画出这颗树。
后序遍历为:
BDECA
中序编列为:
BADCE
A
C
B
D
E
第十四周:
二叉树
1、画出创建下列数据到二叉排序树的过程,并中序遍历这棵二叉排序树。
3620508030202656
36
20
50
80
10
30
26
56
中序遍历:
1020263036565080
2、把下列数据生成一棵完全二叉树,并判断这棵树是不是堆。
如果不是就调整为最大堆结构。
9080603020506070
90
60
80
60
50
20
30
70
90
化成大堆
60
80
60
50
20
70
“
30
3、下面是一棵最小堆结构的树,列出输出排序次序的过程(即每次输出根结点后,删除根)。
26
10
过程:
30
20
26
60
36
输出10
26
30
20
60
36
20
30
26
60
36
输出20
36
30
26
60
26
30
36
60
输出26
26
36
30
60
60
36
30
30
36
60
输出30
30
60
36
60
36
60
36
输出36
60
输出60
第十五周图的存储结构
三、练习题
1.画出下面无向图的邻接矩阵和邻接表(参考课件)。
A
B
C
D
E
A
0
1
1
1
1
B
1
0
0
0
0
C
1
0
0
0
0
D
1
0
0
0
1
E
1
0
0
1
0
E^
D
C
B
A
A^
B
A^
C
D
A^
A
E
D^
或
4^
这个是后插式,还有前插式。
2.画出下面有向图的邻接矩阵和邻接表。
A
B
C
D
E
A
0
1
1
0
1
B
0
0
0
0
0
C
0
0
0
0
0
D
1
0
0
0
1
E
0
0
0
0
0
E^
C
B
A
B^
D
A
E^
E^
或
^
第3题:
structEdgeNode
{
intadjvex;
EdgeNode*next;
};
structVertexNode
{
charvexdata;
EdgeNode*firstarc;
};
VertexNodeG[5];
第十六周:
复习
一、单项选择题(从下列各题四个备选答案中选出一个正确答案,将其代号
(A,B,C,D)写在下表中,答题写在其它地方无效;每小题1分
题号1234567891011
答案
1.数据的不可分割的基本单位是__D__。
A.元素 B.结点 C.数据类型 D.数据项
数据项是具有独立含义的标识单位,是数据不可分割的最小单位;
数据元素是数据的操作基本单位。
数据元素也又可称为元素、结点、顶点、记录等。
7.与中缀表达式a+b*c-d等价的后缀表达式是_abc*+d-_。
运算符优先级:
0:
(#
1:
+-
2:
*/
利用栈结构存放运算符
转换规则:
①操作数直接存放在后缀表达式中
②运算符按照以下规则入栈/出栈:
先预存“#”至栈底
a)“(”强制入栈
b)遇到“)”开始出栈,直到遇见栈顶元素为“(”为止
c)如果中缀表达式中扫描的当前运算符优先级高于栈顶运算符优先级则当前运算符入栈,否则要栈顶运算符先出栈再进行比较。
8.折半查找有序表(6,15,30,37,65,68,70,72,89,99),若查找元素37,需依次 与表中元素__D__进行比较,。
A.65,15,37 B.68,30,37
C.65,15,30 D.65,15,30,37
数组A:
0
1
2
3
4
5
6
7
8
9
6
15
30
37
65
68
70
72
89
99
low=0,high=9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 复习 剖析
![提示](https://static.bdocx.com/images/bang_tan.gif)