《数据结构》模拟题
一、单项选择题
1.假定对称矩阵按行序为主序顺序存储下三角元素到一维数组SA[1…n(n-1)/2]中对下三角中任一元素aij在一维数组SA中的下标k值为().
A.i(i-1)/2+j-1
B.i(i-1)/2+j
C.i(i+1)/2+j-1
D.i(i+1)/2+j
2.____可作线性表的存储结构.
A.循环单链表
B.三元组表
C.邻接表
D.多重链表
3.串的长度是().
A.串中不同字母的个数
B.串中不同字符的个数
C.串中所含字符的个数
D.串中所含字符的个数且大于0
4.队列操作的原则是()
A.先进先出
B.后进先出
C.只能进行插入
D.只能进行删除
5.对长度为10的表作选择(简单选择)排序共需比较____次关键字.
A.45
B.90
C.10
D.110
6.关于线性表下列说法正确的是().
A.每个元素都有一个直接前驱和直接后继
B.线性表中至少要有2个元素
C.表中元素必须排序
D.除第一个和最后一个元素外其余每个元素都有一个且仅有一个直接前驱和直接后继
7.假设用Q[0…maxleng-1]表示循环队列f为队头指针r为队尾指针则进队操作的语句是().
A.f=f+1
B.r=r+1
C.f=(f+1)%maxleng
D.r=(r+1)%maxleng
8.两个串相等的判定条件是().
A.串为空
B.串中各位置对应字符相等
C.串长度相等
D.串长度相等并且串中各位置对应字符相等
9.若7行6列的数组a以列序为主序顺序存储基地址为1024每个元素占2个存储单元则第3行第5列的元素(假定无第0行第0列)的存储地址是____.
A.1100
B.1086
C.1084
D.答案ABC都不对
10.若进队列的序列为1234则()是一个出队列序列.
A.1234
B.4321
C.4312
D.3214
11.若用一个大小为6的数组来实现循环队列且当rear和front的值分别为0和3.当从队列中删除一个元素再加入两个元素后rear和front的值分别为().
A.1和5
B.2和4
C.4和2
D.5和1
12.设计一个判定表达式中左右括号是否配对出现的算法采用()数据结构最佳.
A.链表
B.线性表
C.队列
D.栈
13.设语句s=s+i的时间是时间单位则语句:s=0;for(i=1;i<=n;i++)s=s+i;的时间复杂度为().
A.O(1)
B.O(n)
C.O(n2)
D.O(log2n)
14.数据表A中有10000个元素如果仅要求求出其中最大的10个元素则采用()排序算法最节省时间.
A.堆排序
B.希尔排序
C.快速排序
D.直接选择排序
15.数组A中每个元素的长度为3个字节行下标i从1到5列下标j从1到4从首地址SA开始连续存放在存储器内该数组占用的字节数为().
A.20
B.60
C.80
D.120
16.顺序栈存储空间的实现使用()存储栈元素.
A.链表
B.循环链表
C.数组
D.变量
17.为了方便对图状结构的数据进行存取操作则其中数据存储结构宜采用().
A.顺序存储
B.链式存储
C.索引存储
D.散列存储
18.下列有关二叉树的说法正确的是().
A.二叉树的度为2
B.一棵二叉树度可以小于2
C.二叉树中至少有一个结点的度为2
D.二叉树中任一个结点的度都为2
19.循环队列中元素数目是()?其中tail=32指向队尾元素head=15指向对头元素的前一个空位置队列空间m=60.
A.42
B.16
C.17
D.41
20.一颗非空的二叉树的先序遍历序列与后序遍历序列正好相反则该二叉树一定满足().
A.只有一个叶子结点
B.所有的结点均无左孩子
C.左右的结点均无右孩子
D.是任意一颗二叉树
21.线性表的静态链表存储结构与顺序存储结构相比优点是
A.便于随机存取
B.便于插入和删除
C.便于利用零散的存储器空间
D.所有的操作算法实现简单
22.____是’HuaZhongDa’的子串.
A.Hua
B.zhong
C.’*Da’
D.‘HuaZhongDa’
23.串是任意有限个().
A.符号构成的xxx
B.符号构成的序列
C.字符构成的xxx
D.字符构成的序列
24.队列的特点是().
A.先进先出
B.后进先出
C.进优于出
D.出优于进
25.二叉树在线索化后仍不能有效求解的问题是()
A.先序线索二叉树中求先序后继
B.中序线索二叉树中求中序后继
C.中序线索二叉树中求中序前趋
D.后序线索二叉树中求后序后继
26.广义表A=(ab(cd)(e(fg)))则下面式子的值为().Head(Tail(Head(Tail(Tail(A))))).
A.(g)
B.(d)
C.c
D.d
27.将一个A[1…101…10]的三对角矩阵按行优先存入一维数组B[130]中A中元素a65在B数组中的位置i为().
A.15
B.16
C.55
D.56
28.两个指针p和q分别指向单链表的两个元素p所指元素是q所指元素的前驱则().
A.p==q
B.q->next=p
C.p->next=q->next
D.p->next=q
29.若串s="hello"其子串个数是().
A.5
B.15
C.16
D.25
30.若某链表最常用的操作是在最后一个结点之后插入一个结点和删除最后一个结点则采用()存储方式最节省时间.
A.单链表
B.双链表
C.带头结点的双循环链表
D.单循环链表
31.若长度为n的线性表采用顺序存储结构在其第i个位置插入一个新元素算法的时间复杂度为().
A.O(1)
B.O(n)
C.O(n2)
D.O(log2n)
32.设循环队列中数组的下标范围是1~n其头尾指针分别为f和r则其元素个数为()
A.r-f
B.r-f+1
C.(r-f)modn+1
D.(r-f+n)modn
33.设栈的输入序列是(1234)则()不可能是其出栈序列.
A.1234
B.2134
C.4312
D.3214
34.数据结构包含四种基本结构它们是().
A.xxx链表树队列
B.队列链表数组图
C.xxx线性树图
D.线性链表队列xxx
35.数组A中每个元素的长度为4个字节行下标i从1到5列下标j从1到4从首地址SA开始连续存放在存储器内该数组按行存放时元素A[3][2]的起始地址为().
A.SA+5
B.SA+10
C.SA+36
D.SA+40
36.算法必须具备的5个特征是:输入输出().
A.可执行性可移植性和可扩充性
B.可执行性有穷性和确定性
C.有穷性稳定性和确定性
D.稳定性易读性和确定性
37.稀疏矩阵一般的压缩存储方法有()两种.
A.二维数组和三维数组
B.二维数组和三元组
C.三维数组和十字链表
D.三元组和十字链表
38.线性表采用链式存储时其地址().
A.必须是连续的
B.一定是不连续的
C.连续与否均可以
D.部分地址必须是连续的
39.一个nn的对称矩阵如果以行或列为主序放入内存则其容量为().
A.nn
B.nn/2
C.n(n+1)/2
D.(n+1)*(n+1)/2
40.已知一个顺序存储的线性表设每个结点需占m个存储单元若第一个结点的地址为d1则第i个结点的地址为().
A.d1+(i-1)m
B.d1+im
C.d1-i*m
D.d1+(i+1)m
41._____是数据的不可分割的最小单位.
A.元素
B.数据元素
C.数据类型
D.数据项
42.D=(a(bc))则tail(D)=().
A.bc
B.(bc)
C.((bc))
D.c
43.带头结点的单链表为空表的条件是().
A.headNULL
B.head->dataNULL
C.head->nextNULL
D.head->priorNULL
44.对有18个元素的有序表作二分(折半)查找则查找A[3]的比较序列的下标为().
A.123
B.9523
C.953
D.9423
45.二维数组A[1…51…6]若A按行先存储时元素A[32]的起始地址与当A按列存储时的()元素的起始地址相同.
A.A[23]
B.A[33]
C.A[43]
D.A[53]
46.假定一个顺序循环队列存储于数组A[n]中其队首和队尾指针分别用front和rear表示则判断队满的条件是().
A.(rear-1)%nfront
B.(rear+1)%nfront
C.rear==(front-1)%n
D.rear==(front+1)%n
47.链表不具有的特点是().
A.可随机访问任一元素
B.插入删除不需要移动元素
C.不必事先考虑存储空间
D.所需空间与线性表长度成正比
48.如果线性表最常用的操作是存取第i个元素及其前驱的值则采用()方式存储节省时间.
A.单链表
B.双链表
C.顺序表
D.头尾循环链表
49.若串S="software"其子串数目是().
A.8
B.37
C.36
D.9
50.若用单链表来表示队列则应该选用().
A.带头指针的非循环链表
B.带尾指针的非循环链表
C.带头指针的循环链表
D.带尾指针的循环链表
51.设广义表LS=((ab)c(de))执行操作GetTail(GetHead(LS))后的结果是_______.
A.(b)
B.b
C.(c(de))
D.(ab)
52.设有广义表D=(()(()()))则广义表的长度为().
A.2
B.3
C.4
D.∞
53.树最适合用来表示().
A.有序数据元素
B.无序数据元素
C.元素之间具有分支层次关系的数据
D.元素之间无联系的数据
54.数组A[5][6]的每个元素占5个单元将其按行优先次序存储在起始地址为1000的连续的内存单元中则元素A[55]的地址为()
A.1140
B.1145
C.1120
D.1125
55.数组SZ[-3…50…10]含有元素数目为().
A.88
B.99
C.80
D.90
56.算法的时间复杂度是指算法中()的次数的总和
A.语句的读取时间
B.语句重复存储的次数
C.语句的存储时间
D.语句重复执行的次数
57.下列排序算法中某一趟结束后未必能选出一个元素放在其最终位置上的是()
A.堆排序
B.冒泡排序
C.快速排序
D.直接插入排序
58.线性表在_____时宜用顺序表作存储结构.
A.经常作插入删除
B.经常随机存取
C.无足够连续存储空间
D.经常作动态查找
59.一棵左右子树均不空的二叉树在先序线索化后其空指针域数为()
A.0
B.1
C.2
D.不确定
60.已知一颗二叉树的后序遍历序列为DABEC中序遍历序列为DEBAC则它的先序遍历序列为().
A.ACBED
B.DECAB
C.DEABC
D.CEDBA
二、判断题
1.设串S的长度为n则S的子串个数为n(n+1)/2
2.从具有n个结点的二叉排序树中查找一个元素时最坏情况下的时间复杂度为O(n).
3.广义表中原子个数即为广义表的长度
4.空栈就是所有元素都为0的栈.
5.设有一个空栈现有输入序列12345经过PUSHPUSHPOPPUSHPOPPUSHPUSH后输出序列是23.
6.数据元素是数据的最小单位.
7.顺序存储结构属于静态结构链式结构属于动态结构.
8.线性表采用链表存储时结点和结点内部的存储空间可以是不连续的.
9.有回路的图不能进行拓扑排序.
10.在所有结点的权都相等的情况下具有平衡特性的二叉排序树一定是最佳二叉排序树.
11.n*n对称矩阵经过压缩存储后占用的存储单元是原来的1/2.
12.广义表是线性表的推广是一类线性数据结构.
13.哈希表的查找效率主要取决于哈希表造表时选取的哈希函数和处理冲突的方法.
14.邻接表只能用于存储有向图而邻接矩阵则可存储有向图和无向图.
15.数据的物理结构是指数据在计算机内实际的存储形式.
16.顺序查找法适用于存储结构为顺序或链接存储的线性表.
17.完全二叉树中若一个结点没有左孩子则它必是树叶.
18.一个图的广度优先搜索树是唯一的.
19.在单链表中要访问某个结点只要知道该结点的指针即可;因此单链表是一种随机存取结构.
20.在线性表的顺序存储结构中插入和删除元素时移动元素的个数与该元素的位置有关.
21.串是由有限个字符构成的连续序列串长度为串中字符的个数子串是主串中字符构成的有限序列.
22.广义表是由零或多个原子或子表所组成的有限序列所以广义表可能为空表.
23.就平均查找长度而言分块查找最小折半查找次之顺序查找最大.
24.任何AOV网拓扑排序的结果都是唯一的.
25.数据项是数据的基本单位.
26.顺序存储的线性表可以随机存取.
27.稀疏矩阵压缩存储后必会失去随机存取功能.
28.用带表头结点的单链表表示队列则判断队列为空的标准是头指针和尾指针均指向同一个结点.
29.在二叉排序树上删除一个结点时不必移动其他结点只要将该结点的父结点的相应指针域置空即可.
30.栈和队列都是限制存取点的线性结构
三、名词解释
1.串
串是有零个或多个字符组成的优先序列.
2.关键字
关键字是数据元素中某个数据项的值用它可以标识一个数据元素或记录.
3.数据项记录和文件.
一个元素可以有若干个数据项组成通常把数据元素称为记录含有大量记录的线性表称为文件.
4.线性表
线性表是最常用且最简单的一种数据结构是n个数据元素的有限序列.
5.队列
队列也是线性表它是操作受限制的线性表队列是先进先出表.
6.树
树型结构是一类重要的非线性数据结构树是以分支关系定义的层次结构.
7.数组
数组在内存中占据连续的存储单元其数组元素具有相同的名字和类型.
8.栈
栈也是线性表它是操作受限制的线性表栈是后进先出表.
9.二叉树
二叉树的每个结点至多只有两棵子树并且二叉树的子树有左右之分其次序不能任意颠倒.
10.数据结构
数据结构是相互之间存在一种或多种特定关系的数据元素的xxx.
11.图
图形结构中结点之间的关系可以是任意的图中任意两个数据元素之间都可能相关.
12.内部排序方法
直接插入折半插入2-路插入表插入希尔排序起泡排序快速排序选择排序树形排序堆排序归并基数.任选5个.