数据结构
09
一
.
填空题(
26
分,每空
2
分)
1.
声明抽象数据类型的目的是
________________________________________
?/p>
2.
已知结点?/p>
Node<T>
?/p>
data
?/p>
next
域,下列数据存储结构声明分别?/p>
__________________________________
?/p>
_____________________________________
?/p>
3.
已知
SString s1("aababbabac"),s2("aba");
?/p>
执行下列语句后,
s1
字符串是
______________
?/p>
s1.replaceAll(s1.substring(0,1),s2);
s1.removeAll(s2.substring(0,2));
4.
中缀表达?/p>
A+B*(C-D*(E+F)/G+H)-(I+J)*K
的后缀表达式为
______________________
?/p>
5.
设一个顺序循环队列容量为
60
,当
front=47
?/p>
rear=23
时,该队列有
__________
个元素?/p>
6.
已知二维数组
a[10][8]
采用行主序存储,数组首地址?/p>
1000
,每个元素占?/p>
4
字节,则
数组元素
a[4][5]
的存储地址?/p>
__________________________
?/p>
7.
已知一棵完全二叉树的根(第
0
个)结点层次?/p>
1
,则?/p>
100
个结点的层次?/p>
_______
?/p>
8.
中根遍历序列和后根遍历序列相反的二叉树是
_________________________________
?/p>
9.
?/p>
256
个权值构造一棵哈夫曼树,则该二叉树共?/p>
________________
结点?/p>
10.
?/p>
n
个顶点组成的无向连通图,最多可以有
_____________________
条边?/p>
11.
10
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
_____________________________________________________
?/p>
12.
已知关键字序列为
{67,41,34,10,69,24,78,54,41*}
,采用快速排序算法按升序排序,以?/p>
一个元素为基准值,其第一趟排序后的关键字序列?/p>
____________________________
?/p>
?/p>
.
问答题(
45
分,每小?/p>
5
分)
1.
已知目标串为
"aabcbabcaabcaababc"
,模式串?/p>
"abcaababc"
,写出模式串改进?/p>
next
?/p>
组;画出
KMP
算法的匹配过程,给出字符比较次数?/p>
2.
什么是栈和队列?两者有何异同?什么情况下需要使用栈或队列?采用顺序存储结构
的栈和队列,在进行插入、删除操作时需要移动数据元素吗?为什么?什么是队列的假?/p>
出?为什么顺序存储结构队列会出现假溢出?怎样解决队列的假溢出问题?链式存储结?/p>
队列会出现假溢出吗?顺序存储结构的栈会出现假溢出吗?为什么?
3.
?/p>
?/p>
一
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
GCBHKAMFDJE
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
?/p>
CBGHMAJEDFK
,画出这棵二叉树并进行中序线索化?/p>
4.
设一段正文由字符?/p>
{A,B,C,D,E,F,G,H}
组成,其中每个字符在正文中的出现次数依次?/p>
{23,5,17,4,9,31,29,18}
,采用哈夫曼编码对这段正文进行压缩存储,画出所构造的哈夫曼树?/p>
并写出每个字符的哈夫曼编码?/p>
5.
删除以下带权无向图中的顶?/p>
D
,画出删?/p>
D
后图的邻接矩阵表示和邻接表表示?/p>