数据结构题库148道.docx
《数据结构题库148道.docx》由会员分享,可在线阅读,更多相关《数据结构题库148道.docx(37页珍藏版)》请在冰豆网上搜索。
数据结构题库148道
数据结构
1、算法的计算量大小称为计算的()——[单选题]
A效率
B复杂性
C现实性
D难度
正确答案:
B
2、树形结构是数据元素之间存在一种()——[单选题]
A一对一关系
B多对多关系
C多对一关系
D一对多关系
正确答案:
D
3、算法的空间复杂度是指(——[单选题]
A执行算法程序所占的存储空间
B算法程序中的指令条数
C算法程序的长度
D算法执行过程中所需要的存储空间
正确答案:
D
4、算法的时间复杂度是指()——[单选题]
A执行算法程序所需要的时间
B算法执行过程中所需要的基本运算次数
C算法程序的长度
D算法程序中的指令条数
正确答案:
B
5、算法的时间复杂度取决于()——[单选题]
A问题的规模
B待处理数据的初态
CA和B
正确答案:
C
6、数据结构只是研究数据的逻辑结构和物理结构,这种观点()——[单选题]
A正确
B错误
C前半句正确,后半句错误
D前半句错误,后半句正确
正确答案:
B
7、计算机算法指的是(),它具有输入、输出、可行性、确定性和有穷性等五个特性。
——[单选题]
A计算方法
B排序方法
C解决问题的优先运算序列
D调度方法
正确答案:
C
8、计算机内部数据处理的基本单位是()——[单选题]
A数据
B数据元素
C数据项
D数据库
正确答案:
B
9、以下说法正确的是()——[单选题]
A数据元素是数据的最小单位
B数据项是数据的基本单位
C数据结构是带有结构的各数据项的集合
D数据结构是带有结构的数据元素的集合
正确答案:
D
10、下列数据结构中,()是非线性数据结构——[单选题]
A树
B字符串
C队
D栈
正确答案:
A
11、下面关于算法的说法错误的是()——[单选题]
A算法最终必须由计算机程序实现
B为解决某问题的算法同为该问题编写的程序含义是相同的
C算法的可行性是指指令不能有二义性
D以上几个都是错误的
正确答案:
D
12、下列叙述正确的是()——[单选题]
A线性表是线性结构
B栈和队列是非线性结构
C线性链表是非线性结构
D二叉树是线性结构
正确答案:
A
13、数据在计算机存储器内表示时,物理地址与逻辑地址不相同的,称为()——[单选题]
A存储结构
B逻辑结构
C链式存储结构
D顺序存储结构
正确答案:
C
14、在等概率情况下,顺序表的插入操作要移动()结点。
——[单选题]
A全部
B一半
C三分之一
D四分之一
正确答案:
B
15、在一个长度为n的顺序表中向第i个元素(0
——[单选题]
An-i
Bn-i+1
Cn-i-1
Di
正确答案:
B
16、若线性表最常用的操作是存取第i个元素及其前驱的值,则采用()存储方式节省时间。
——[单选题]
A单链表
B双向链表
C单循环链表
D顺序表
正确答案:
D
17、以下错误的是()。
——[单选题]
A对循环链表来说,从表中任一结点出发,都能通过前后操作扫描整个循环链表
B对单链表来说,只有从头结点开始才能扫描表中全部结点
C双链表的特点:
是找结点的前驱和后继都很容易
D对双链表来说,结点*p的存储位置既存放在其前驱结点的后继指针域中,也存放在它的后继结点的前驱指针域中。
正确答案:
A
18、已知线性表L=(a1,a2,…,ai,…,an),下列说法正确的是()。
——[单选题]
A每个元素都有一个直接前驱和直接后继
B线性表中至少要有一个元素
C表中诸元素的排列顺序必须是由小到大或由大到小的
D除第一个元素和最后一个元素外,其余每个元素都有一个数,且仅有一个直接前驱和直接后继
正确答案:
D
19、对顺序表上的插入、删除算法的时间复杂性分析来说,常以()为标准操作。
——[单选题]
A条件判断
B结点移动
C算术表达式
D赋值语句
正确答案:
B
20、线性表若采用链表存储结构时,要求内存中可用存储单元的地址()。
——[单选题]
A必须是联系的
B部分地址必须是连续的
C一定是不连续的
D连续不连续都可以
正确答案:
D
21、在()运算中,使用顺序表比链表好。
——[单选题]
A插入
B删除
C根据序号查找
D根据元素值查找
正确答案:
C
22、在带头结点的循环链表中,将头指针改设为尾指针(rear)后,其头结点和尾结点的存储位置分别是()。
——[单选题]
Arear和rear->ext->next
Brear->next和rear
Crear->next->next和rear
Drear和rear->next
正确答案:
A
23、空的单循环链表L的尾结点*p,满足()。
——[单选题]
AP->next==NULL
BP==NULL
CP->next=L
D>next=phead->next
正确答案:
D
24、在顺序表中,只要知道(),就可在相同时间内求出任一结点的存储地址。
——[单选题]
A基地址
B结点大小
C向量大小
D基地址和结点大小
正确答案:
D
25、单链表中,增加头结点的目的是为了()。
——[单选题]
A使单链表至少有一个结点
B标示表结点中首结点的位置
C方便运算的实现
D说明单链表是线性表的链式存储实现
正确答案:
C
26、线性表采用链式存储时,其地址()——[单选题]
A必须是连续的
B一定是不连续的
C部分地址必须是连续的
D连续与否均可以
正确答案:
D
27、以下说法正确的是()。
——[单选题]
A在单链表中,任何两个元素的存储位置之间都有固定的联系,因此可以从头结点开始,查找任何一个元素
B在单链表中,要取得某个元素,只要知道该元素的指针即可,因此,单链表是随机存取的存储结构
C顺序存储方式只能用于存储线性结构
D顺序存储方式的优点是存储密度大,且插入、删除运算效率高
正确答案:
A
28、以下说法正确的是()。
——[单选题]
A线性结构的基本特征是:
每个结点有且仅有一个直接前驱和一个直接后继
B线性表的各种基本运算在顺序存储结构上的实现均比在链式存储结构上的实现效率要低
C在线性表的顺序存储结构中,插入和删除元素时,移动元素的个数与该元素位置有关
D顺序存储的线性表的插入和删除操作不需要付出很大的代价,因此平均操作只有近一半的元素需要移动
正确答案:
C
29、线性表的顺序存储结构是一种()的存储结构。
——[单选题]
A随机存取
B顺序存取
C索引存取
D散列存取
正确答案:
A
30、线性表是()。
——[单选题]
A一个有限序列,可以为空
B一个无限序列,不可以为空
C一个无限序列,可以为空
D一个无限序列,不可以为空
正确答案:
A
31、设指针p指向双向链表的某一结点,则双向链表结构的对称性可用()式来刻画。
——[单选题]
Ap->prior->next==p->next->next
Bp->prior->prior==p->next->prior
Cp->prior->next==p->next->prior
Dp->next->next==p->prior->prior
正确答案:
C
32、以下说法错误的是()。
——[单选题]
A求表长、定位这两种运算,在采用顺序存储结构时实现的效率,比采用链式存储结构时实现的效率低
B顺序存储的线性表可以随机存取
C由于顺序存储要求连续存储区域,所以在存储管理上不够灵活
D线性表的链式存储结构优于顺序存储结构
正确答案:
D
33、循环队列的队空条件为()。
——[单选题]
A(sq.rear+1)%maxsize==(sq.front+1)%maxsize
B(sq.rear+1)%maxsize==sq.front+1
Csq.(rear+1)%maxsize==sq.front
Dsq.rear==sq.front
正确答案:
D
34、循环队列A[0…m-1]存放其元素值,用front和rear分别表示队头和队尾,则当前队列中的元素数是()。
——[单选题]
A(rear-front+m)%m
Brear-front+1
Crear-front-1
Drear-front
正确答案:
A
35、在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶,当做出栈处理时,top变化为()。
——[单选题]
Atop不变
Btop=0
Ctop—
Dtop++
正确答案:
C
36、若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为多少?
()——[单选题]
A1和5
B2和4
C4和2
D5和1
正确答案:
B
37、栈和队列的共同特点是()。
——[单选题]
A都是先进先出
B都是先进后出
C只允许在端点处插入和删除元素
D5和1
正确答案:
C
38、设计一个判别表达式中左、右括号是否配对出现的算法,采用()数据结构最佳。
——[单选题]
A线性标的顺序存储结构
B栈
C队列
D线性表的链式存储结构
正确答案:
B
39、输入序列为ABC,可以变为CBA时,经过的栈操作为()。
——[单选题]
Apush,pop,push,pop,push,pop
Bpush,push,push,pop,pop,pop
Cpush,push,pop,pop,push,pop
Dpush,pop,push,push,pop,pop
正确答案:
C
40、链栈与顺序栈相比,有一个比较明显的优点,即()——[单选题]
A插入操作方便
B通常不会出现栈满的情况
C不会出现栈空的情况
D删除操作更方便
正确答案:
B
41、一个递归算法必须包括()。
——[单选题]
A递归调用
B子程序调用
C表达式求值
DA,B,C
正确答案:
B
42、循环队列的队满条件为()。
——[单选题]
A(sq.rear+1)%maxsize==(sq.front+1)%maxsize
B(sq.rear+1)%maxsize==sq.front+1
Csq.(rear+1)%maxsize==sq.front
Dsq.rear==sq.front
正确答案:
C
43、队列的操作原则是()。
——[单选题]
A先进先出
B后进先出
C先进后出
D不分顺序
正确答案:
A
44、如果以链表作为栈的存储结构,则退栈操作时()。
——[单选题]
A必须判别栈是否满
B判别栈元素的类型
C必须判别栈是否空
D不做任何判别
正确答案:
C
45、一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()。
——[单选题]
A不确定
Bn-i+1
Ci
Dn-i
正确答案:
B
46、设循环队列中数组的下标范围是0~n-1,其头尾指针分别为f和r,则其元素的个数为()。
——[单选题]
Ar-f
Br-f+1
C(r-f)%n+1
D(r-f+n)%n
正确答案:
D
47、栈和队列都是()。
——[单选题]
A顺序存储的线性结构
B链式存储的非线性结构
C限制存取点的线性结构
D限制存取点的非线性结构
正确答案:
C
48、栈在()中应用。
——[单选题]
A递归调用
B子程序调用
C表达式求值
DA,B,C
正确答案:
A
49、设栈的输入序列是1,2,3,4,则()不可能是其出栈序列。
——[单选题]
A1,2,4,3
B2,1,3,4
C1,4,3,2
D4,3,1,2
正确答案:
D
50、用链表方式存储的队列,在进行删除运算时()。
——[单选题]
A仅修改头指针
B仅修改尾指针
C头、尾指针都要修改
D头、尾指针可能都要修改
正确答案:
D
51、若一个栈的输入序列是1、2……N,输出序列的第一个元素是N,则第I个输出元素为()。
——[单选题]
AN-1
BI
CN-I+1
DN-I-1
正确答案:
C
52、一个栈的输入序列为1,2,3,…,n,其输出序列为p1,p2,p3,…,pn,若pn是n,则pi是()。
——[单选题]
A不确定
Bn-i+1
Ci
Dn-i
正确答案:
D
53、串是一种特殊的线性表,其特殊性体现在()。
——[单选题]
A可以顺序存储
B数据元素是一个字符
C可以链接存储
D数据元素可以是多个字符
正确答案:
B
54、字符串采用结点大小为1的链表作为其存储结构,是指()。
——[单选题]
A链表的长度为1
B链表只存放1个字符
C链表的每个链结点的数据域中不只存放了一个字符
D链表的每个链结点的数据域中只存放了一个字符
正确答案:
D
55、若INDEX(S,T)表示求T在S中的位置,则对于S=“BeiJing&Nanjing”,T=“jing”,INDEX(S,T)=()。
——[单选题]
A2
B3
C4
D5
正确答案:
C
56、两个字符串相等的条件是()。
——[单选题]
A两串的长度相等
B两串包含的字符相同
C两床的长度相等,并且两串包含的字符相同
D两串的长度相等,并且对应位置上的字符相同
正确答案:
D
57、串的长度是指()。
——[单选题]
A串中所含不同字母的个数
B串中所含字符的个数
C串中所含不同字符的个数
D串中所含非空格字符的个数
正确答案:
B
58、下面关于串的叙述中,哪个是不正确的?
()。
——[单选题]
A串是字符的有限序列
B空串是由空格构成的串
C模式匹配是串的一种重要运算
D串既可以采用顺序存储,也可以采用链式存储
正确答案:
B
59、一个子串在包含它的主串中的位置是指()。
——[单选题]
A子串中最后的那个字符在主串中的位置
B子串的最后那个字符在主串中首次出现的位置
C子串中第一个字符在主串中的位置
D子串的第一个字符在主串中首次出现的位置
正确答案:
D
60、空串与空格字符组成的串的区别在于()。
——[单选题]
A数据元素的组织形式
B数据类型
C数据存储结构
D数据定义
正确答案:
B
61、串是()。
——[单选题]
A少于一个字母的序列
B任意个字母的序列
C不少于一个字符的序列
D有限个字符的序列
正确答案:
D
62、若REPLACE(S,S1,S2)表示用字符串S2替换字符串S中的子串S1的操作,则对于S=“Beijing&Nanjing”,S1=“Beijing”,S2=“Shanghai”,REPLACE(S,S1,S2)=()。
——[单选题]
A“Nanjing&Shanghai”
B“Nanjing&Nanjing”
C“ShanghaiNanjing”
D“Shanghai&Nanjing”
正确答案:
D
63、若SUBSTR(S,i,k)表示求S中从第i个字符开始的连续k个字符组成的子串的操作,则对于S=“Beijing&Nanjing”,SUBSTR(S,4,5)=()。
——[单选题]
A“ijing”
B“jing&”
C“ingNa”
D“ing&N”
正确答案:
B
64、设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为()。
——[单选题]
A求子串
B联接
C匹配
D求串长
正确答案:
C
65、在长度为n的字符串S的第i个位置插入另外一个字符串,i的合法值应该是()——[单选题]
Ai>0
Bi≤n
C1≤i≤n
D1≤i≤n+1
正确答案:
C
66、若串S=“software”,其子串的数目是()。
——[单选题]
A8
B37
C36
D9
正确答案:
B
67、深度为h的满m叉树的第k层有()个结点。
(1≤k≤H)——[单选题]
Amk-1
Bmk-1
Cmh-1
Dmh-1
正确答案:
A
68、一棵具有1028个结点的二叉树的深度h为()。
——[单选题]
A11
B10
C11~1028
D10~1027
正确答案:
C
69、关于二叉树的说法正确的是()。
——[单选题]
A所有二叉树的度均为2
B一棵二叉树的度可以小于2
C一棵二叉树中至少有一个结点的度为2
D一棵二叉树的根结点的度必为2
正确答案:
B
70、一棵满二叉树的层次遍历的结果为ABCDEFG,则先序遍历该满二叉树得到的先序序列为()。
——[单选题]
AABCEFDG
BABDECFG
CACGFBED
DABEDCGF
正确答案:
B
71、假定在一棵二叉树中,度为2的结点的数目为6,则该二叉树中叶子结点的数目是()。
——[单选题]
A6
B5
C7
D8
正确答案:
C
72、若某图有4个顶点,它们的度分别为3、1、2、2,则该图共有()条边或弧。
——[单选题]
A6
B8
C9
D10
正确答案:
B
73、一棵有n个顶点的生成树有且仅有()条边。
——[单选题]
An+2
Bn+1
Cn
Dn-1
正确答案:
D
74、在下列查找方法中,适用于静态查找的方法有()。
——[单选题]
A折半查找、二叉排序树查找
B折半查找、索引查找
C二叉排序树查找、顺序查找
D哈希表查找、索引查找
正确答案:
B
75、对含有10个数据元素的有序查找表执行折半查找,当查找失败时,至少需要比较()次。
——[单选题]
A2
B3
C4
D5
正确答案:
C
76、下列选项中()可能是在二叉排序树中查找35时所比较的关键字序列。
——[单选题]
A2,25,40,39,53,34,35
B25,39,2,40,53,34,35
C53,40,2,25,34,39,35
D39,25,40,53,34,2,35
正确答案:
C
77、在平衡二叉树中,每个结点的平衡因子的取值范围为()。
——[单选题]
A-1~1
B0~1
C-2~2
D-2~1
正确答案:
A
78、下列关于B-树和B+树的叙述中,不正确的一项是()。
——[单选题]
A都是平衡多叉树
B都可用于文件的索引结构
C都能有效地支持顺序检索
D都能有效地支持随机检索
正确答案:
C
79、程序一定是算法。
——[判断题]
A正确
B错误
正确答案:
B
80、健壮的算法不会因非法的输入数据而出现莫名其妙的状态。
——[判断题]
A正确
B错误
正确答案:
A
81、数据结构的抽象操作的定义与具体实现有关。
——[判断题]
A正确
B错误
正确答案:
B
82、数据的逻辑结构说明数据元素之间的顺序关系,它依赖于计算机的存储结构。
——[判断题]
A正确
B错误
正确答案:
B
83、记录是数据处理的最小单位。
——[判断题]
A正确
B错误
正确答案:
B
84、顺序存储方式的优点是:
存储密度大,且插入、删除运算效率高。
——[判断题]
A正确
B错误
正确答案:
B
85、数据的物理结构是指数据在计算机内的实际存储形式。
——[判断题]
A正确
B错误
正确答案:
A
86、数据结构的基本操作设置的最重要准则是,实现应用程序与存储结构的独立。
——[判断题]
A正确
B错误
正确答案:
B
87、算法可以用不同的语言描述,如果用C语言或PASCAL语言等高级语言来描述,则算法实际上就是程序了。
——[判断题]
A正确
B错误
正确答案:
B
88、数据的逻辑结构是指数据的各数据项之间的逻辑关系。
——[判断题]
A正确
B错误
正确答案:
B
89、循环链表不是线性表。
——[判断题]
A正确
B错误
正确答案:
B
90、顺序存储结构的主要缺点是不利于插入或删除。
——[判断题]
A正确
B错误
正确答案:
A
91、顺序存储方式只能用于存储线性结构。
——[判断题]
A正确
B错误
正确答案:
B
92、线性表的长度是线性表所占用的存储空间的大小。
——[判断题]
A正确
B错误
正确答案:
B
93、在顺序表中取出第i个元素所花费的时间与i成正比。
——[判断题]
A正确
B错误
正确答案:
B
94、线性表只能用顺序存储结构实现。
——[判断题]
A正确
B错误
正确答案:
B
95、顺序存储方式插入和删除时效率太低,因此它不如链式存储方式好。
——[判断题]
A正确
B错误
正确答案:
B
96、取线性表的第i个元素的时间同i的大小有关。
——[判断题]
A正确
B错误
正确答案:
B
97、在带头结点的单循环链表中,任一结点的后继指针均不为空。
——[判断题]
A正确
B错误
正确答案:
A
98、已知指针P指向链表L中某结点,执行语句P=P->next不会删除该链表中结点。
——[判断题]
A正确
B错误
正确答案:
A
99、任何一个递归过程都可以转换成非递归过程。
——[判断题]
A正确
B错误
正确答案:
A
100、有n个数顺序(依次)进栈,出栈序列有Cn种,Cn=[1/(n+1)]*(2n)!
/[(n!
)*(n!
)]。
——[判断题]
A正确
B错误
正确答案:
A
101、队列和栈都是运算受限的线性表,