2018年北京市培养单位数学与系统科学研究院863计算机学科综合(专业)之数据结构考研核心题库
● 摘要
一、填空题
1. 设用希尔排序对数组{98,36,-9,0,47,23,1,8,10,7}进行排序,给出的步长(也称增
量序列) 依次是4, 2, 1则排序需_____趟,写出第一趟结束后,数组中数据的排列次序_____。
【答案】3; (10,7,-9,0,47,23,1,8,98,36)
2. 按LSD 进行关键字排序,除最次位关键字之外,对每个关键字进行排序时,只能用_____的排序方法。
【答案】稳定
3. 设有一个空枝,栈顶指针为1000H(十六进制) ,现有输入序列为1,2,3,4,5,经过PUSH ,PUSH ,POP ,PUSH ,POP ,PUSH ,PUSH 之后,输出序列是_____,而栈顶指针值是_____。设栈为顺序找,每个元素占4个字节。
【答案】23;100CH
4. 当两个栈共享一存储区时,栈利用一维数组stack(1,,1) 表示,两栈顶指针为top[l]与top[2],则当栈1空时,top[l]为_____,栈2空时,top[2]为_____,栈满时为_____。
【答案】0;n+1;top[l]+l=top[2]
【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。
5. VSAM(虚拟存储存取方法) 文件的优点是:动态地_____,不需要文件进行_____,并能较快地_____进行查找。
【答案】分配和释放存储空间;重组;对插入的记录
6. 二叉树的前序序列和中序序列相同的条件是_____。
【答案】空树或任何结点至多只有右子树的二叉树
【解析】前序遍历的顺序为根左右,中序遍历的顺序为左根右,因此若中序遍历和前序遍历序列相同,则任何结点都没有左子树。
7. 完善算法:求KMP 算法.next 数组。
k :=_____;next[1]:=0;
k :=_____;
END ;
【答案】0;next[k]
8. 顺序栈用存储数据,栈顶指针是top ,则值为x 的元素入栈的操作是_____。
【答案】if(top!=n)data[++top]=x ;
【解析】先判断栈是否满,如果不满,元素入栈。否则返回溢出信息。
9. 文件由_____组成;记录由_____组成。
【答案】记录;数据项
10.设有两个算法在同一机器上运行,其执行时闻分别为100n 2和2n ,要使前者快于后者,n 至少为_____。
【答案】15
【解析】当
时,100n2>2n,而,2n 时,100n <2
二、判断题
11.十字链表是无向图的一种存储结构。( )
【答案】×
【解析】十字链表是有向图的另一种链式存储结构。在十字链表中,对应于有向图的每条弧有一个结点,对应于每个顶点也有一个结点。类似于邻接表是无向图的一种链式存储结构。
12.用向量和单链表表示的有序表均可使用折半查找方法来提高查找速度。( )
【答案】×
【解析】单链表不能使用折半查找方法。折半查找主要用于数据元素有序且存储方式为顺序存储的表。
13.即使对不含相同元素的同一输入序列进行两组不同的合法的入栈和出栈组合操作,所得的输出序列也一定相同。( )
【答案】 ×
【解析】栈只是一种先入后出的存储结构。对于出栈、入栈的元素不进行修改,因此,输入序列的元素不相同,不可能得到相同的输出序列。
14.设模式串的长度为m ,目标串的长度为n ,当n ≈m 且处理只匹配一次的模式时,朴素的匹配(即子串定位函数) 算法所花的时间代价可能会更为节省。( )
【答案】 √
【解析】因为两个字符串的长度几乎相等,因此,在进行相应的匹配时,只需要定位父串的前几位即可。
15.采用深度优先搜索或拓扑排序算法可以判断出一个有向图中是否有环(回路) 。
【答案】√
【解析】采用深度优先搜索算法主要是通过设置标志位可以判断出一个有向图中是否有环。采用拓扑排序算法,如果能够构成一个拓扑排序,则有向图中没有环,否则,有向图中有环。
16.当改变网上某一关键路径上任一关键活动后,必将产生不同的关键路径。( )
【答案】×
【解析】当改变任意关键路径上的关键话动之后,这个活动可能还是关键活动,因此不会产生不同的关键路径。
17.文件系统采用索引结构是为了节省存储空间。( )
【答案】×
【解析】是为了缩短查找的时间,牺牲了一部分存储空间。
18.对两棵具有相同关键字集合的而形状不同的二叉排序树,按中序遍历它们得到的序列的顺序却是一致的。( )
【答案】√
【解析】形状不同的两个二叉排序树(关键字集合相同) ,在中序遍历下是输出排好序的序列,所以顺序是一致的。
19.栈和队列都是限制存取点的线性结构。( )
【答案】 √
20.基数分类只适用于以数字为关键字的情况,不适用于以字符串为关键字的情况。( )
【答案】×
【解析】如果用字符串为关键字,可以将其中的字符串的每一位用Ascn 码进行比较。
三、算法设计题
21.已知二叉树T ,试写出复制该二叉树的算法(t→T) 。
【答案】算法如下:
复制二叉树t 的非递归算法
是二叉树的结点指针的队列,容量足够大