历年数据结构

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

本卷包括如下题型:

一、单项选择题

数据结构

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

(  D  )
1、在带权图的最短路径问题中,路径长度是指。
A、路径上的顶点数
B、路径上的边数
C、路径上的顶点数与边数之和
D、路径上各边的权值之和
(  B  )
2、若要求尽可能快地对序列进行稳定的排序,则应选( B )。
A、快速排序
B、归并排序
C、冒泡排序
D、选择排序
(  A  )
3、已知一棵二叉树的前序遍历结果为ABCDEF,中序遍历结果为CBAEDF,则后序遍历的结果为( A )。
A、CBEFDA
B、FEDCBA
C、CBEDFA
D、不定
(  A  )
4、数据的四种存储结构是()。
A、顺序存储结构、链式存储结构、引存储结构和散列存储
B、链式村储结构、非线性存储结构、树型存储结构和图型存储结构
C、集合存储结构一对-存储结构.一对多存储绪构和多对多存储结构
D、顺序存储结构、树型存储结构、图型存储结构和散列存储
(  A  )
5、(4分)在一个单链表中,已知q指向p所指向结点的前趋结点,若在q. p所指结点之间插入一个s所指向的新结点,则执行的操作是(A)。
A、q->next=s; s->next=p
B、p->next=s; s->next=q
C、s->next=p->next; p->next=s
D、p->next=s->nxt; s->next=p
(  D  )
6、(4分) 指针p1和p2分别指向两个无头结点的非空单循环链表中的尾结点,要将两个链表链接成-一个新的单循环链表,应执行的操作为(D)。
A、p1->next=p2->next; p2-> next=p1->next;
B、p2->next=p1->next; p1->next=p2->next;
C、p=p2->next; p1->next=p:; p2->next=p1->next;
D、p=p1->next; p1->next= p2->next; p2->next=p;
(  D  )
7、(10分)已知关键字序列为(66,82, 25, 51, 98, 108}, 利用快速排序方法,以第- 一个元素为基准得到的一 趟排序结果为(D)。
A、{25,51,66,82,98,108}
B、{25,51,66,98, 82, 108}
C、{51, 25, 66,108, 98,82}
D、{51, 25,66,82,98, 108}
(  C  )
8、输入序列为ABC,可以变为CBA时,经过的栈操作为()。
A、push,pop,push,pop,push,pop
B、push,push,push,pop,pop,pop
C、push,push,pop,pop,push,pop
D、push,pop,push,push,pop,pop
(  C  )
9、假定在一棵二叉树中,度为 2 的结点的数目为 6,则该二叉树中叶子结点的数目是( )。
A、6
B、5
C、7
D、8
(  D  )
10、若线性表最常用的操作是存取第i个元素及其前驱的值,则采用()存储方式节省时间。
A、单链表
B、双向链表
C、单循环链表
D、顺序表
(  A  )
11、以下错误的是()。
A、对循环链表来说,从表中任一结点出发,都能通过前后操作扫描整个循环链表
B、对单链表来说,只有从头结点开始才能扫描表中全部结点
C、双链表的特点:是找结点的前驱和后继都很容易
D、对双链表来说,结点*p的存储位置既存放在其前驱结点的后继指针域中,也存放在它的后继结点的前驱指针域中。
(  B  )
12、对顺序表上的插入、删除算法的时间复杂性分析来说,常以()为标准操作。
A、条件判断
B、结点移动
C、算术表达式
D、赋值语句
(  C  )
13、给定排序码值序列为{F,B,J,C,E,A,I,D,C,H},对其按字母的字典序列的次序进行排列,冒泡排序(大数下沉)的第一趟排序结果应为
A、{B,F,C,J,A,E,D,I,C,H}
B、{C,B,D,A,E,F,I,C,J,H}
C、{B,F,C,E,A,I,D,C,H,J}
D、{A,B,D,C,E,F,I,J,C,H}
(  B  )
14、若一组记录的排序码值序列为{50,80,30,40,70,60}利用快速排序方法,以第一个记录为基准,得到一趟快速排序的结果为
A、30,40,50,60,70,80
B、40,30,50,80,70,60
C、50,30,40,70,60,80
D、40,50,30,70,60,80
(  D  )
15、数据结构这门学科的研究内容下面选项最准确的是
A、研究数据对象和数据之间的关系
B、研究数据对象
C、研究数据对象和数据的操作
D、研究数据对象、数据之间的关系和操作
(  C  )
16、折半搜索与二叉排序树的时间性能( )。
A、相同
B、完全不同
C、有时不相同
D、数量级都是O(log2n)
(  D  )
17、广度优先遍历类似于二叉树的( )。
A、先序遍历
B、中序遍历
C、后序遍历
D、层次遍历
(  C  )
18、对n个元素的表做顺序查找时,若查找每个元素的概率相同,则平均查找长度为( )。
A、(n-1)/2
B、n/2
C、(n+1)/2
D、n
(  D  )
19、循环队列存储在数组A[0..m]中,则入队时的操作为( )。
A、rear=rear+1
B、rear=(rear+1)%(m-1)
C、rear=(rear+1)%m
D、rear=(rear+1)%(m+1)
(  B  )
20、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次进入栈S,一个元素出栈后即进入Q,若6个元素出队的序列是e2、e4、e3、e6、e5和e1,则栈S的容量至少应该是( )。
A、2
B、3
C、4
D、6
(  A  )
21、数组A中,每个元素A的长度为3个字节,行下标i从1到5,列下标j从1到6,从首地址开始连续存放在存储器内,存放该数组至少需要的单元数是( )。
A、90
B、70
C、50
D、30
(  C  )
22、单链表的存储密度为( )。
A、大于1
B、等于5
C、小于1
D、不能确定
(  D  )
23、既希望查找速度快又便于线性表动态变化的查找方法有()
A、顺序查找
B、折半查找
C、索引顺序查找
D、哈希法查找
(  C  )
24、下列关于线性链表的叙述中,正确的是()。
A、各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致
B、各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续
C、进行插入与删除时,不需要移动表中的元素
D、以上说法均不正确
(  A  )
25、设顺序表的长度为 n。下列排序方法中,最坏情况下比较次数小于 n(n-1)/2 的是()。
A、堆排序
B、快速排序
C、简单插入排序
D、冒泡排序
(  C  )
26、设某强连通图中有n个顶点,则该强连通图中至少有( )。条边。
A、n(n-1)
B、n+1
C、n
D、n(n+1)
(  A  )
27、下列程序段的时间复杂度为( )。
for(i=0; i
A、O(m*n*t)
B、O(m+n+t)
C、O(m+n*t)
D、O(m*t+n)
(  C  )
28、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的算法的时间复杂度( )。(1<=i<=n+1)。
A、O(0)
B、O(1)
C、O(n)
D、O(n2)
(  A  )
29、算法的时间复杂度是由( )决定的。
A、问题的规模
B、待处理数据的初态
C、A和B
D、变量个数
(  A  )
30、线性链表是通过何种方式表示元素之间的关系( )。
A、后继元素地址
B、元素的存储顺序
C、左、右孩子地址
D、元素的相对存储位置
(  C  )
31、一个向量第一个元素的存储地址是100,每个元素的长度为2,则第5个元素的地址是
A、100
B、110
C、108
D、120
(  A  )
32、判断带头结点的单链表为空表的条件是( ),假设头指针为head。 (3.0分)
A、this.head.next==null;
B、this.head==null;
C、this.head.next==this.head;
D、this.head!=null;
(  A  )
33、抽象数据类型的三个组成部分分别为( )。
A、数据对象、数据关系和基本操作
B、数据元素、逻辑结构和存储结构
C、数据项、数据元素和数据类型
D、数据元素、数据结构和数据类型
(  C  )
34、将长度为n的单链表连接在长度为m的单链表之后的算法的时间复杂度为( )。
A、O(1)
B、O(n)
C、O(m)
D、O(m+n)
(  A  )
35、一个顺序栈S,空栈时top的初始值为0,其栈顶指针为top,则将元素e入栈的操作是( )。
A、*S->top=e;S->top++;
B、S->top++;*S->top=e;
C、*S->top=e
D、S->top=e;
(  C  )
36、五节车厢以编号1,2,3,4,5顺序进入铁路调度站(栈),可以得到( )的编组。
A、3,4,5,1,2
B、2,4,1,3,5
C、3,5,4,2,1
D、1,3,5,2,4
(  D  )
37、正常情况下,删除非空的顺序存储结构的堆栈的栈顶元素,栈顶指针top的变化是( )。
A、top不变
B、top=0
C、top=top+1
D、top=top-1
(  A  )
38、将一棵有100个结点的完全二叉树从根这一层开始,每一层上从左到右依次对结点进行编号,根结点的编号为1,则编号为49的结点的左孩子编号为( )。
A、98
B、99
C、50
D、48
(  C  )
39、用链接方式存储的带头结点的队列,在进行插入运算时
A、仅修改头指针
B、头、尾指针都要修改
C、仅修改尾指针
D、头、尾指针可能都要修改
(  D  )
40、以下数据结构中哪一个是非线性结构?
A、队列
B、栈
C、线性表
D、二叉树
(  A  )
41、设一组初始关键字记录关键字为(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,21
D、15,10,14,18,20,36,40,21
(  A  )
42、执行一趟快速排序能够得到的序列是( )。
A、[41,12,34,45,27] 55 [72,63]
B、[45,34,12,41] 55 [72,63,27]
C、[63,12,34,45,27] 55 [41,72]
D、[12,27,45,41] 55 [34,63,72]
(  A  )
43、有n个数据的二叉排序树最大可能深度是( )
A、n
B、n+1
C、log2(n)
D、log2(n+1)
(  C  )
44、一个具有1025个结点的二叉树的高度是为( )
A、10
B、11
C、11至1025之间
D、10至1024之间
(  A  )
45、栈通常采用的两种存储结构是( )
A、顺序存储结构和链式存储结构
B、散列方式和索引方式
C、链式存储结构和数组
D、线性存储结构和非线性存储结构
(  A  )
46、用单链表表示的链式队列的队首在链表的( )位置
A、链表头
B、链表尾
C、链表中间
D、任意位置都可以
(  C  )
47、一棵树的广义表表示为 a(b(c),d(e(g(h)),f,k)),则该树的叶子结点个数为( )。
A、2
B、3
C、4
D、5
(  B  )
48、以下说法错误的是( )
A、存在这样的二叉树,对它采用任何次序遍历其结点访问序列均相同
B、普通二叉树只能用链式存储结构存储
C、由树转换成二叉树,其根结点的右子树总是空的
D、在二叉树只有一棵子树的情况下也要明确指出该子树是左子树还是右子树
(  C  )
49、有一份电文中共使用 5 个字符:a、b、c、d、e,它们的出现频率依次为 4、7、5、2、9,对应的哈夫曼树(请按左子树根结点的权小于等于右子树根结点的权的次序构造)中字符 a 的赫夫曼编码长度为 ( )
A、1
B、2
C、3
D、4
(  B  )
50、表示一个有 100 个顶点,1000 条边的非带权有向图的邻接矩阵有( ) 个非零矩阵元素。
A、100
B、1000
C、100×100-1000
D、1000×2