数据结构练习题1~5章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据结构练习题
数据结构练习题(1-5章)
一、选择题
1、从逻辑上可以把数据结构分为( B )两大类。
A.动态结构、静态结构B.顺序结构、链式结构
C.线性结构、非线性结构D.初等结构、构造型结构
2、以下数据结构中,哪一个是线性结构()?
A.广义表 B. 二叉树 C. 稀疏矩阵 D. 串
3、在下面的程序段中,对x的赋值语句的频度为()
for (i=1;i<=n;i++)
for (j=1;j<=n;i++)
x=x+1;
A. O(2n) B.O(n) C.O(n2) D.O(log2n)
4、下面关于线性表的叙述中,错误的是哪一个?()
A.线性表采用顺序存储,必须占用一片连续的存储单元。
B.线性表采用顺序存储,便于进行插入和删除操作。
C.线性表采用链接存储,不必占用一片连续的存储单元。
D.线性表采用链接存储,便于插入和删除操作。
5、某线性表中最常用的操作是在最后一个元素之后插入一个元素和删除第一个
元素,则采用()存储方式最节省运算时间。
A.单链表 B.仅有头指针的单循环链表 C.双链表 D.仅有尾指
针的单循环链表
6、静态链表中指针表示的是().
A.内存地址 B.数组下标 C.下一元素地址 D.左、右
孩子地址
7、下面的叙述不正确的是()
A.线性表在链式存储时,查找第i个元素的时间同i的值成正比
B. 线性表在链式存储时,查找第i个元素的时间同i的值无关
C. 线性表在顺序存储时,查找第i个元素的时间同i 的值成正比
D. 线性表在顺序存储时,查找第i个元素的时间同i的值无关
8、若长度为n的线性表采用顺序存储结构,在其第i个位置插入一个新元素的
算法的时间复杂度为( C )(1<=i<=n+1)。
A. O(0)
B. O(1)
C. O(n)
D. O(n2)
9、在单链表指针为p的结点之后插入指针为s的结点,正确的操作是:()。
A.p->next=s;s->next=p->next; B. s->next=p->next;p->next=s;
C.p->next=s;p->next=s->next; D. p->next=s->next;p->next=s;
10、对于一个头指针为head的带头结点的单链表,判定该表为空表的条件是()
A.head==NULL B.head→next==NULL C.head→next==head D.head!=NULL
11、一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i (1<=i<=n)个元素是()。
A. 不确定
B. n-i+1
C. i
D. n-i
12、有六个元素6,5,4,3,2,1 的顺序进栈,问下列哪一个不是合法的出
栈序列?()
A. 5 4 3 6 1 2
B. 4 5 3 1 2 6
C. 3 4 6 5 2 1
D. 2 3 4 1
5 6
13、设有三个元素X,Y,Z顺序进栈(进的过程中允许出栈),下列得不到的出
栈排列是( )。
A.XYZ B. YZX C. ZXY D. ZYX
14、假设以数组A[m]存放循环队列的元素,其头尾指针分别为front和rear,
则当前队列中的元素个数为()。
A.(rear-front+m)%m B.rear-front+1 C.(front-rear+m)%m D.(rear-front)%m
15、若用一个大小为6的数组来实现循环队列,且当前rear和front的值分别
为0和3,当从队列中删除一个元素,再加入两个元素后,rear和front的值分
别为多少?( )
A. 1和 5
B. 2和4
C. 4和2
D. 5和1
16、下面关于串的的叙述中,哪一个是不正确的?()
A.串是字符的有限序列 B.空串是由空格构成的串->(空格串是
由空格组成的)
C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用
链式存储
17、设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法
称为()
A.求子串 B.联接 C.匹配 D.求串长
18、设有数组A[i,j],数组的每个元素长度为3字节,i的值为1 到8 ,j的
值为1 到10,数组从内存首地址BA开始顺序存放,当用以列为主存放时,元素
A[5,8]的存储首地址为( )。30*6=180
A. BA+141
B. BA+180
C. BA+222
D.
BA+225
19、已知广义表L=((x,y,z),a,(u,t,w)),从L表中取出原子项t的运算
是()。
A. head(tail(tail(L)))
B. tail(head(head(tail(L))))
C. head(tail(head(tail(L))))
D. head(tail(head(tail(tail (L)))))
20、广义表A=(a,b,(c,d),(e,(f,g))),则下面式子的值为()。
Head(Tail(Head(Tail(Tail(A)))))
A. (g)
B. (d)
C. c
D. d
二、判断题
1、数据元素是数据的最小单位。( )
2、算法可以用不同的语言描述,如果用C 语言或PASCAL语言等高级语言来描
述,则算法实际上就是程序了。( )
3、顺序存储方式的优点是存储密度大,且插入、删除运算效率高。( )
4、线性表采用链表存储时,结点和结点内部的存储空间可以是不连续的。
( )
5、线性表的特点是每个元素都有一个前驱和一个后继。( )