往年数据结构题库

本试卷为往年数据结构题库,题目包括:单项选择题。

本卷包括如下题型:

一、单项选择题

数据结构题库

一、单项选择题 (共50题,每题2分,共计100分)

(  D  )
1、深度为4的二叉树至多可以有的结点数为。
A、17
B、13
C、18
D、15
(  A  )
2、以下各阶时间复杂度中,性能最优的是( )。
A、O(log2n)
B、O(n)
C、O(n^3)
D、O(2^n)
(  C  )
3、一棵树高为K 的完全二叉树至少有( C )个结点.
A、2k –1
B、2k-1 –1
C、2k-1
D、2k
(  D  )
4、下列排序算法中,其中( D )是稳定的。
A、堆排序,冒泡排序
B、快速排序,堆排序
C、直接选择排序,归并排序
D、归并排序,冒泡排序
(  A  )
5、在长度为n的顺序表的第i (1sisn+1) 个位置上插入一个元素,元素的移动次数为(A) 。
A、n-i+1
B、n-i
C、i
D、i-1
(  D  )
6、(6分)下列排序算法中,在每-趟都能选出一个元素放到其最终位置上的是(D)。
A、插入排序
B、希尔排序
C、归并排序
D、直接选择排序
(  B  )
7、假设以数组A[60]存放循环队列的元素,其期指针是front=47. 当前队列有50个元素,则队列的尾指针值为(B) 。
A、3
B、37
C、50
D、97
(  C  )
8、设指针p指向双向链表的某一结点,则双向链表结构的对称性可用()式来刻画。
A、p->prior->next == p->next->next
B、p->prior->prior == p->next->prior
C、p->prior->next == p->next->prior
D、p->next->next == p->prior->prior
(  B  )
9、算法的时间复杂度是指()
A、执行算法程序所需要的时间
B、算法执行过程中所需要的基本运算次数
C、算法程序的长度
D、算法程序中的指令条数
(  B  )
10、一个递归算法必须包括()。
A、递归调用
B、子程序调用
C、表达式求值
D、A,B,C
(  C  )
11、在()运算中,使用顺序表比链表好。
A、插入
B、删除
C、根据序号查找
D、根据元素值查找
(  D  )
12、设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。
A、1,2,4,3
B、2,1,3,4
C、1,4,3,2
D、4,3,1,2
(  C  )
13、算法的时间复杂度取决于
A、问题的规模
B、待处理数据的初始状态
C、问题的规模和待处理数据的初始状态
D、不好说
(  D  )
14、以下说法正确的是( )。
A、数据元素是数据的最小单位
B、数据项是数据的基本单位
C、数据结构是带有结构的各数据项的集合
D、一些表面上很不相同的数据可以有相同的逻辑结构
(  C  )
15、对二叉树的结点从1开始进行连续编号,要求每个结点的编号大于其左、右孩子的编号,同一结点的左右孩子中,其左孩子的编号小于其右孩子的编号,可采用( )遍历实现编号。
A、先序
B、中序
C、后序
D、从根开始按层次遍历
(  A  )
16、线性表是()
A、一个有限序列,可以为空
B、一个有限序列,不能为空
C、一个无限序列,可以为空
D、一个无限序列,不能为空
(  C  )
17、设一棵三叉树中有2个度数为1的结点,2个度数为2的结点,2个度数为3的结点,则该三叉链权中有( )个度数为0的结点。
A、5
B、6
C、7
D、8
(  C  )
18、设有序表中的元素为(13,18,24,35,47,50,62),则在其中利用二分法查找值为24的元素需要经过( )次比较。
A、1
B、2
C、3
D、4
(  A  )
19、设有一组初始记录关键字序列为(34,76,45,18,26,54,92),则由这组记录关键字生成的二叉排序树的深度为( )。
A、4
B、5
C、6
D、7
(  D  )
20、数据结构主要研究( )。
A、数据的逻辑结构
B、数据的存储结构
C、数据的逻辑结构和存储结构
D、数据的逻辑结构、存储结构以及数据在操作上的实现
(  C  )
21、数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为( )。
A、存储结构
B、逻辑结构
C、顺序存储结构
D、链式存储结构
(  A  )
22、设一组初始关键字记录关键字为(20,15,14,18,21,36,40,10),则以20为基准记录的一趟快速排序结束后的结果为( )。
A、10,15,14,18,20,36,40,21
B、10,15,14,18,20,40,36,21
C、10,15,14,20,18,40,36,2l
D、15,10,14,18,20,36,40,21
(  B  )
23、设某无向图有n个顶点,则该无向图的邻接表中有( )个表头结点。
A、2n
B、n
C、n/2
D、n(n-1)
(  B  )
24、设散列表中有m个存储单元,散列函数H(key)= key % p,则p最好选择( )。
A、小于等于m的最大奇数
B、小于等于m的最大素数
C、小于等于m的最大偶数
D、小于等于m的最大合数
(  B  )
25、对二叉排序树进行( ),可以得到各结点键值的递增序列。
A、先根遍历
B、中根遍历
C、层次遍历
D、后根遍历
(  B  )
26、列说法正确的是( )。
A、堆栈是在两端操作、先进后出的线性表
B、堆栈是在一端操作、先进后出的线性表
C、队列是在一端操作、先进先出的线性表
D、队列是在两端操作、后进先出的线性表
(  A  )
27、采用顺序查找方法查找长度为n的线性表时,不成功查找的平均查找长度为()
A、n
B、n/2
C、(n+1)/2
D、(n-1)/2
(  B  )
28、数据序列{5,4,15,10,3,1,9,6,2}是某排序方法第一趟后的结果,该排序算法可能是( )。
A、冒泡排序
B、二路归并排序
C、堆排序
D、简单选择排序
(  C  )
29、快速排序在下列哪种情况下最易发挥其长处( )。
A、被排序的数据中含有多个相同排序码
B、被排序的数据已基本有序
C、被排序的数据随机分布
D、被排序的数据中最大值和最小值相差悬殊
(  C  )
30、在以下排序方法中,平均时间复杂度为O(n2),且是不稳定的是(
A、冒泡排序
B、直接插入排序
C、简单选择排序
D、以上都不对
(  D  )
31、已知一个有序表为{13,18,24,35,47,50,62,83,90,115,134},当二分查找为18的元素时,需()次比较可查找成功。
A、1
B、2
C、3
D、4
(  A  )
32、栈的插入与删除操作在( )进行。 (4.0分)
A、栈顶
B、栈底
C、任意位置
D、指定位置
(  D  )
33、假定一个循环顺序队列的队首和队尾指针分别为f和r,则判断队空的条件是( )。 (4.0分)
A、f+1==r
B、r+1==f
C、f==0
D、f==r
(  A  )
34、顺序表存取数据操作的时间复杂度为( )。 (3.0分)
A、O(1)
B、O(n)
C、O(lg(n))
D、O(n/2)
(  C  )
35、若以{4,5,6,7,8}作为权值构造哈夫曼树,则该树的带权路径长度为( )。 (3.0分)
A、67
B、68
C、69
D、70
(  A  )
36、数据结构是指( )。
A、数据元素的组织形式
B、数据类型
C、数据存储结构
D、数据定义
(  A  )
37、经过以下栈运算后,x的值是( )。InitStack(s);Push(s,d);Push(s,e);Pop(s,x);GetTop(s,x);Pop(s,x);
A、d
B、e
C、x
D、s
(  D  )
38、对于一个具有N个顶点的无向图,若采用邻接矩阵表示,则该矩阵大小是( )
A、N
B、(N-1)2
C、(N-1)*N
D、N*N
(  C  )
39、下面程序段的时间复杂度为( )。 i=1; while(i<=n) i=i*3;
A、O(n)
B、O(3n)
C、O(log3n)
D、O(n3)
(  B  )
40、带头结点的单链表head为空的判定条件是( )。
A、head==NULL
B、head->next==NULL
C、head->next!=NULL
D、head!=NULL
(  A  )
41、队列的插入操作是在( )。
A、队尾
B、队头
C、队列任意位置
D、队头元素后
(  A  )
42、设a,b为一棵二叉树上的两个结点,在中序遍历时,a在b后面的条件是( )。
A、a在b的右方
B、a在b的左方
C、a是b的祖先
D、a是b的子孙
(  A  )
43、一棵二叉树有100个结点,则至少有( )个叶结点。
A、1
B、2
C、3
D、4
(  A  )
44、设一条单链表的头指针变量为head且该链表没有头结点,则其判空条件是( )。
A、head==NULL
B、head->next==NULL
C、head->next==head
D、head!=NULL
(  A  )
45、串“abcabcef”的nextval为( )
A、01112341
B、01112111
C、01123111
D、01111123
(  A  )
46、在数据的存放无规律而言的线性表中进行检索的最佳方法是( )。 (5.0分)
A、顺序查找
B、折半查找
C、分块查找
D、插值查找
(  C  )
47、*在单链表p结点之后插入s结点的操作是( )
A、p.next=s; s.next=p.next;
B、s.next = p.next; p.next=p.next.next;
C、s.next = p.next; p.next = s;
D、s.next=p; p.next=s;第三章 栈和队列
(  B  )
48、在一个有N个元素的有序单链表中查找具有给定关键字的结点,平均情况下的时间复杂性为( B )。(1分)
A、O(1)
B、O(N)
C、0(N2)
D、O(NlogN)
(  B  )
49、设有1000个元素,用二分法查找时,最小比较次数为( )。(1分)
A、0
B、1
C、10
D、500
(  C  )
50、设无向图 G 中有五个顶点,各顶点的度分别为 2、4、3、1、2,则 G 中边数为()
A、4
B、5
C、6
D、无法确定