2017年扬州大学信息工程学院834软件基础之数据结构考研仿真模拟题
● 摘要
一、选择题
1. 下列选项中,不可能是快速排序第2趟排序结果的是( )
A.2, 3, 5, 4, 6, 7, 9
B.2, 7, 5, 6, 4, 3, 9
C.3, 2, 5, 4, 7, 6, 9
D.4, 2, 3, 5, 7, 6, 9
【答案】C
【解析】对于快速排序,每一趟都会使一个元素位于有序时的位置,而有序序列为2, 3, 4, 5, 6, 7, 9, 与C 进行对比,只有9位于它有序的时候的位置,显然不是第二趟快速排序的结果
2. 对序
列
A.1
B.4
C.3
D.2
【答案】B
【解析】由所给的序列知,本序列要进行递增排序,经过一趟后15的位置没有变化,而给的序列中只有20比15大,20的位置和15的位置相差4。所以该次采用的増量是4。
3. 在平衡二叉树中插入一个结点后造成了不平衡,设最低的不平衡结点为A ,并已知A 的左孩子的平衡因子为0,右孩子的平衡因子为1,则应作( )型调整以使其平衡
【答案】C
【解析】A 的平衡因子此时为-1,要使插入结点不平衡,必须插在右孩子的左子树上,A 平衡因子变成了-2,则需要进行两次旋转(先右旋后左旋)。
4. 下列线索二叉树中(用虚线表示线索),符合后序线索树定义的是( )。
用希尔排序方法排序,经一趟后序列变
为则该次采用的增量是( )。
【答案】D
【解析】线索二叉树利用二叉链表的空链域来存放结点的前驱和后继信息,解题思路较简单。题中所给二叉树的后序序列为dbca 。结点d 无前驱和左子树,左链域空,无右子树,右链域指向其后继结点b ; 结点b 无左子树,左链域指向其前驱结点山结点c 无左子树,左链域指向其前驱结点b ,无右子树,右链域指向其后继结点a 。所以正确选项为D 。
5. 将线性表的数据元素进行扩充,允许带结构的线性表是( )。
A. 串
B. 树
C. 广义表
D. 栈
【答案】C
【解析】串、树、栈中的数据元素都是属于非结构的原子类型,元素的值是不可分解的。数组和广义表都是允许带结构的线性表。
6. 从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放在已排序序列的合适位置,该排序方法称为( )排序法。
A. 插入
B. 选择
C. 希尔
D. 二路归并
【答案】A
【解析】解此题需要熟知各种排序方法的基本思想。插入排序的基本思想是:假设待排序的
记录存放在数组中,排序过程的某一中间时刻,R
被划分成两个子区间
插入到有序区
和其中:前一个子区间是已排好序的有序区,后一个子区间则是当前未排序的部分,不妨称其为无序区。将当前无序区的第1
个记录
中适当的位置上。使
变为新的有序区。这种方法通常称为增量法,因为它每次使有序区增加1个记录。
7. 若数据元素序列11, 12, 13, 7, 8, 9, 23, 4, 5是采用下列排序方法之一得到的第二趟排序后的结果,则该排序算法只能是( )。
A. 起泡排序
B. 插入排序
C. 选择排序
D. 二路归并排序
【答案】B
【解析】经过两趟排序后,A 项起泡排序的结果是两个最小或最大的元素放到了序列的最终位置;B 项插入排序的结果是前三个数有序即可;C 项选择排序结果是两个最小的元素在最前面按顺序排好;D 项二路归并排序的结果是长度为4的子序列有序,即前4个数排好序,接下来的4个数排好序。显然题目中的元素序列只能是插入排序第二趟排序后的结果,因此,B 项正确。
8. 下面关于B 和B+树的叙述中,不正确的是( )
A.B 树和B+树都是平衡的多叉树
B.B 树和B+树都可用于文件的索引结构
C.B 树和B+树都能有效地支持顺序检索
D.B 树和B+树都能有效地支持随机检索
【答案】C
【解析】B 树是一种平衡的多分树,通常我们说m 阶的B 树,它必须满足如下条件:①每个结点至多有m 个子结点;②除根结点和叶结点外,其它每个结点至少有个子结点;③若根结点不是叶子结点,则至少有两个子结点;④所有的叶结点在同一层;⑤有k 个子结点的非根结点恰好包含k-1个关键码。B+树是B 树的一种变形树,它与B 树的差异在于:有k 个子结点的结点必然有k 个关键码;非叶结点仅具有索引作用,跟记录有关的信息均存放在叶结点中。其中B 树适合与随即检索,不适合于顺序检索,所以C 项错误。
9. 假定编译器规定int 和short 类型长度分别为32位和16位,执行下列C
语言语句
得到y 的机器数为( )。
【答案】B 。
【解析】X 和y 均为无符号数,其中X 为16位,y 为32位,将16位无符号数转化成32位无符号数,前面要补零。因为
10.串的长度是指( )。
A. 串中所含不同字母的个数
B. 串中所含字符的个数
C. 串中所含不同字符的个数
D. 串中所含非空格字符的个数
【答案】B
所以