当前位置:问答库>考研试题

2018年大连海事大学信息科学技术学院810数据结构考研核心题库

  摘要

一、填空题

1. 在下面的程序段中,对X 的赋值语句的时间复杂度为_____ (表示为n 的函数) 。

【答案】1+(1+2) +(1+2+3) +…+(l+2+…+n) =n(n+1)(n+2)/6,即O(n)

【解析】当i =l 时,赋值语句就被执行了一次。当i =2时,赋值语句被执行了1+2次。当i =3时,赋值语句被执行了1+2+3次。...... 可以推出赋值语句总共被执行了1+(1+2) +(1+2+3) +…+(l+2+... +n) =n(n+1)(n+2)/6次。

2. 在双向循环链表中,向P 所指的结点之后插入指针f 所指的结点,其操作是_____、_____、_____、_____。

【答案】f ﹣>next =p ﹣>next ;f ﹣>prior =p ;p ﹣>next ﹣>prior =f ;p ﹣>next =f ;

3. 若不考虑基数排序,则在排序过程中,主要进行的两种基本操作是关键字的 _____和记录的_____。

【答案】比较;移动

4. 关键码序列(Q,H ,C ,Y ,Q ,A ,M ,S ,R ,D ,F ,X) ,要按照关键码值递增的次序进行排序,若采用初始步长为4的希尔排序法,则一趟扫描的结果是_____; 若采用以第一个元素为分界元素的快速排序法,则扫描一趟的结果是_____。

【答案】(Q,A ,C ,S ,Q ,D ,F ,X ,R ,H ,M ,Y) ; (F,H ,C ,D ,a ,A ,M ,Q ,R ,S ,Y ,X)

【解析】希尔排序的基本思想是:先将整个待排记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录“基本有序”时,再对全体记录进行一次直接插入排序。

快速排序(quick sort) 的基本思想是,通过一趟排序将待排记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,则可分别对这两部分记录继续进行排序,以达到整个序列有序。

5. 设数组数组中任一元素A[i,j]均占内存48个二进制位,从首地址2000开始连续存放在主内存里,主内存字长为16位,那么

(1)存放该数组至少需要的单元数是_____;

(2)存放数组的第8列的所有元素至少需要的单元数_____;

(3)数组按列存储时,元素A[5,8]的起始地址是_____。

【答案】270;27;2204

【解析】数组的元素个数为9*10=90,因为每个元素占内存48个二进制位,即6个字节。故总需要90*6=540个字节,因为主内存字长为16位,即2个字节,所以至少需要540/2=270个单元数。第8列有9个元素,共占9*6=54个字节,因此至少需要54/2=27个单元数。由题知,每个元素占3个单元。按列存储时,A[5,8]的起始地址为2000+[(8﹣1)*9+(5﹣0)]*3=2204。

6. 当两个栈共享一存储区时,栈利用一维数组stack(1,,1) 表示,两栈顶指针为top[l]与top[2],则当栈1空时,top[l]为_____,栈2空时,top[2]为_____,栈满时为_____。

【答案】0;n+1;top[l]+l=top[2]

【解析】共享栈的栈底在共享存储区的两端,当栈满时栈顶相邻。

7. 已知有序表为(12,18,24,35,47,50,62,83,90,115,134) 当用二分法查找90时,需次查找成功,查找47时_____成功,查找100时,需_____次才能确定不成功。

【答案】2; 4; 3

【解析】二分法查找元素次数列表

查找100是找到115就停止了。

8. 已知二叉排序树的左右子树均不为空,则_____上所有结点的值均小于它的根结点值,_____上所有结点的值均大于它的根结点的值。

【答案】左子树;右子树

【解析】二叉排序树(binary sort tree)或者是一棵空树,或者是具有下列性质的二叉树:①若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;②若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;③它的左、右子树也分别为二叉排序树。

9. 一棵有11个结点的满二叉树有_____个度为1的结点、有_____个分支(非终端) 结点和_____个叶子,该满二叉树的深度为_____。 【答案】或

【解析】满二叉树没有度为1的结点,度为0的结点等于度为2的结点个数+1。

10.求图的最小生成树有两种算法,_____算法适合于求稀疏图的最小生成树e

【答案】克鲁斯卡尔

【解析】克鲁斯卡尔算法是一种按权值的递增次序选择合适的边来构造最小生成树的方法,

这种算法中,采用堆来存放边的集合,适合于边稀疏而顶点较多的图。

二、判断题

11.哈希函数越复杂越好,因为这样随机性好,冲突概率小。( )

【答案】×

【解析】随机性好和冲突概率小跟哈希函数的复杂程度无关,是根据具体情况而定的,跟实际的数据有很大关系。

12.一个树形的叶结点,在前序遍历和后序遍历下,皆以相同的相对位置出现。( )

【答案】 √

【解析】树的前序遍历和后序遍历叶子节点的相对次序是不变的,都遵循左右的次序。

13.一般来说,若深度为k 的n 个结点的二叉树只有最小路径长度,那么从根结点到第k ﹣1层具有的最多结点数为余下的

【答案】 √

【解析】求最小路径长度,即构成哈夫曼树,当哈夫曼树为k ﹣1层全满时,此时从根结点到第k ﹣1层具有最大的结点数为

14.用向量和单链表表示的有序表均可使用折半查找方法来提高查找速度。( )

【答案】×

【解析】单链表不能使用折半查找方法。折半查找主要用于数据元素有序且存储方式为顺序存储的表。

15.折半查找与二元查找树的时间性能在最坏的情况下是相同的。( )

【答案】×

【解析】不是,当二元查找树是一棵单支树时,时间性能是O(n)。而折半查找依然是

16.抽象数据类型与计算机内部表示和实现无关。( )

【答案】 √

【解析】抽象数据类型只表示数据的逻辑结构,与计算机内部表示和实现无关。

17.堆肯定是一棵平衡二叉树。( )

【答案】×

【解析】堆是n 个元素的序列,排序树,更不会是平衡二叉树。

可以看成是完全二叉树,但相对于根并无左小右大的要求,故其既不是二叉

个结点在第k 层的任一位置上。( )