第一章 单元测试

1、单选题:在数据结构中,从逻辑上可以把数据结构分成(  )。
A:动态结构和静态结构
B:内部结构和外部结构
C:线性结构和非线性结构
D:紧凑结构和非紧凑结构
正确答案:【线性结构和非线性结构】

2、单选题:算法分析的两个主要方面是(  )。
A:正确性和简单性
B:时间复杂度和空间复杂度
C:可读性和文档性
D:数据复杂性和程序复杂性
正确答案:【时间复杂度和空间复杂度】

3、单选题:计算机算法必须具备输入、输出和(  )等5个特性。
A:可行性、可移植性和可扩充性
B:可行性、确定性和有穷性
C:易读性、稳定性和安全性
D:确定性、有穷性和稳定性
正确答案:【可行性、确定性和有穷性】

4、单选题:数据结构是研究数据的(  )以及它们之间的相互关系。
A:抽象结构,逻辑结构
B:理想结构,物理结构
C:理想结构,抽象结构
D:物理结构,逻辑结构
正确答案:【物理结构,逻辑结构】

5、单选题:数据结构中,与所使用的计算机无关的是数据的(  )结构。
A:存储
B:物理和存储
C:逻辑
D:物理
正确答案:【逻辑】

6、单选题:组成数据的基本单位是(  )。
A:数据类型
B:数据变量
C:数据项
D:数据元素
正确答案:【数据元素】

7、单选题:设数据结构A=(D,R),其中D={1,2,3,4},R={r},r={<1,2>,<2,3>,<3,4>,<4,1>},则数据结构A是(   )。
A:线性结构
B:集合
C:图型结构
D:树型结构
正确答案:【图型结构】

8、单选题:下面程序的时间复杂为(  )for(i=1,s=0; i<=n; i++) {t=1;for(j=1;j<=i;j++) t=t*j;s=s+t;}
A:O(n3)
B:O(n)
C:O(n4)
D:O(n2)
正确答案:【O(n2)】

9、单选题:程序段s=i=0;do {i=i+1; s=s+i;}while(i<=n);的时间复杂度为(  )。
A:O(n3/2)
B:O(n)
C: O(n2)
D:O(nlog2n)
正确答案:【O(n)】

10、单选题:算法指的是(     )
A:排序算法
B:解决问题的有限运算序列
C:解决问题的计算方法
D:计算机程序
正确答案:【解决问题的有限运算序列】

11、判断题:算法就是程序。

A:错
B:对
正确答案:【错】

12、判断题:在C语言中,int i,  *p = &i;是不正确的变量声明。

A:错
B:对
正确答案:【错】

第二章 单元测试

1、单选题:在一个单链表中,若p所指结点不是最后结点,在p之后插入s所指结点,则执行(  )。
A:s->next=p;p->next=s
B:s->next=p->next;p->next=s
C:s->next=p->next;p=s
D:p->next=s;s->next=p
正确答案:【s->next=p->next;p->next=s】

2、单选题:线性表是具有n个(  )的有限序列(n≠0)。
A:表元素
B:数据项
C:字符
D:数据元素
正确答案:【数据元素】

3、单选题:在一个单链表中,若删除p所指结点的后续结点,则执行(  )。
A:p->next=p->next->next
B:p =p->next->next;
C:p=p->next; p->next=p->next->next
D:p->next=p->next
正确答案:【p->next=p->next->next】

4、单选题:线性表采用链式存储时,结点的存储地址(  )。
A:必须是连续的
B:连续与否均可
C:必须是不连续的
D:和头结点的存储地址相连续
正确答案:【连续与否均可 】

5、单选题:在一个单链表中,已知q所指结点是p所指结点的前驱结点,若在q所指结点和p所指结点之间插入s结点,则执行(  )。
A:p->link=s;s->link=q
B:q->link=s;s->link=p
C:s->link=p->link;p->link=s
D:p->link=s->link;s->link=p
正确答案:【q->link=s;s->link=p】

6、单选题:顺序存储的线性表(a0,a1,…,an-1),在任一结点前插入一个新结点时所需移动结点的平均次数为(  )。
A:(n+1)/2
B:n
C:n/2
D:n+1
正确答案:【n/2】

7、单选题:若线性表最常用的操作是存取第i个元素及其前趋的值,则采用(  )存储方式节省时间。
A:单循环链表
B:双链表
C:单链表
D:顺序表
正确答案:【顺序表】

8、单选题:若某链表最常用的操作是在最后一个结点之后插入一个结点删除最后一个结点,则采用(  )存储方式最节省时间。
A:单链表
B:单循环链表
C:双链表
D:带头结点的双循环链表
正确答案:【单循环链表】

9、单选题:下面关于线性表的叙述错误的是(   )。
A:线性表采用链式存储不必占用一片连续的存储空间
B:线性表采用顺序存储必须占用一片连续的存储空间
C:线性表采用顺序存储便于插入和删除操作的实现
D:线性表采用链式存储便于插入和删除操作的实现
正确答案:【线性表采用顺序存储便于插入和删除操作的实现】

10、单选题:设一维数组中有n个数组元素,则读取第i个数组元素的平均时间复杂度为(  )。
A:O(n)
B:O(1)
C:O(n2)
D:O(nlog2n)
正确答案:【O(1)】

11、单选题:顺序查找不论在顺序线性表中还是在链式线性表中的时间复杂度为(  )。
A:O(n1/2)
B:O(1og2n)
C:O(n)
D:O(n2)
正确答案:【O(n)】

12、单选题:设带有头结点的单向循环链表的头指针变量为head,则其判空条件是(  )。
A:head==NULL
B:head->next== NULL
C:head->next==head
D:head!= NULL
正确答案:【head->next==head】

13、判断题:线性表的唯一存储形式是链表。

A:对
B:错
正确答案:【错】

14、判断题:

已知指针P指向键表L中的某结点,执行语句P=P->next不会删除该链表中的结点。

A:对
B:错
正确答案:【对】

15、判断题:

对链表进行插入和删除操作时不必移动链表中结点。

A:错
B:对
正确答案:【对】

第三章 单元测试

1、单选题:栈结构通常采用的两种存储结构是(  )。
A:线性存储结构和非线性存储结构
B:链表存储结构和数组
C:散列方式和索引方式
D:线性存储结构和链表存储结构
正确答案:【链表存储结构和数组】

2、单选题:设循环队列Q[N]的头尾指针为F、R,头指针F总是指在队列中的第一个元素的前一位置,则队列中元素计数为( )。
A:(F-R+N)%N
B:R-F
C:(R-F+N)%N
D:N-(R-F)
正确答案:【(R-F+N)%N 】

3、单选题:队列操作的原则是(  )。
A:只能进行删除
B:后进先出
C:只能进行插入
D:先进先出
正确答案:【先进先出】

4、单选题:一个栈的输入序列为1 2 3 4 5,则下列序列中不可能是栈的输出序列的是(  )。
A:2 3 4 1 5
B:2 3 1 4 5
C:1 5 4 3 2
D:5 4 1 3 2
正确答案:【5 4 1 3 2】

5、单选题:设栈S和队列Q的初始状态为空,元素E1、E2、E3、E4、E5和E6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出列的顺序为E2、E4、E3、E6、E5和E1,则栈S的容量至少应该是(  )。
A:6
B:2
C:4
D:3
正确答案:【3】

6、单选题:设用链表作为栈的存储结构则退栈操作(  )。
A:必须判别栈是否为满
B:对栈不作任何判别
C:判别栈元素的类型
D:必须判别栈是否为空
正确答案:【必须判别栈是否为空】

7、单选题:设一个有序的单链表中有n个结点,现要求插入一个新结点后使得单链表仍然保持有序,则该操作的时间复杂度为(  )。
A:O(1)
B:O(n)
C:O(n2)
D:O(log2n)
正确答案:【O(n)】

8、单选题:设指针变量top指向当前链式栈的栈顶,则删除栈顶元素的操作序列为(  )。
A:top=top+1;
B:top=top->next;
C:top=top-1;
D:top->next=top;
正确答案:【top=top->next;】

9、单选题:以下属于队列的基本运算的是(  )。
A:对队列中的元素排序
B:在队列中某元素之后插入元素
C:删除队头元素
D:取出最近进队元素
正确答案:【删除队头元素】

10、单选题:以下各种不带头结点的链表中最不适合用作链队的(  )。
A:只带队尾指针的循环双链表
B:只带队首指针的循环双链表
C:只带队尾指针的非循环双链表
D:只带队首指针的非循环双链表
正确答案:【只带队首指针的非循环双链表】

11、判断题:在链队列中,即使不设置尾指针也能进行入队操作。

A:对
B:错
正确答案:【对】

12、判断题:非空的双向循环链表中任何结点的前驱指针均不为空。

A:错
B:对
正确答案:【对】

13、判断题:走迷宫问题只能用队列来求解。

A:错
B:对
正确答案:【错】

第四章 单元测试

1、单选题:下面关于串的叙述中,哪一个是不正确的?(   )。
A:串既可以采用顺序存储,也可以采用链式存储
B:模式匹配是串的一种重要运算
C:串是字符的有限序列
D:空串是由空格构成的串
正确答案:【空串是由空格构成的串】

2、单选题:字符串采用结点大小为1的链表作为其存储结构,是指(   )。
A:链表只存放1个字符
B:链表的每个链结点的数据域中不只存放了一个字符
C:链表的每个链结点的数据域中只存放了一个字符
D:链表的长度为1
正确答案:【链表的每个链结点的数据域中只存放了一个字符】

3、单选题:设串s1=’ABCDEFG’,s2=’PQRST’,下标从0开始,函数con(x,y)返回x和y串的连接串,subs(s, i, j)返回串s的从序号i开始的j个字符组成的子串,len(s)返回串s的长度,则con(subs(s1, 2, len(s2)), subs(s1, len(s2), 2))的结果串是(  )。
A:CDPQRST
B:CDEFG
C:CDEFGG
D:CDEFGFG
正确答案:【CDEFGFG】

4、单选题:模式串S=’aaab’,其Next数组值分别为(   )。
A:-1,1,2,0
B:0,1,0,0
C:0,0,1,2
D:-1,0,1,2
正确答案:【-1,0,1,2】

5、单选题:两个串相等必有串长度相等且(   )。
A:串中各对应位置字符均相等
B:两个串含有相同的字符
C:串的各位置字符任意
D:两个串所含字符任意
正确答案:【串中各对应位置字符均相等】

6、单选题:若有以下定义和语句:char *s1=”12345″,*s2=”1234″;printf(“%dn”,strlen(strcpy(s1,s2)));则输出结果是(   )。
A:4
B:10
C:5

D:9
正确答案:【4】

7、单选题:printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出按方式(  )。
A:输出错误信息
B:右对齐输出该字串,左补空格
C:按原字符长从左向右全部输出
D:从左起输出该字串,右补空格
正确答案:【右对齐输出该字串,左补空格】

8、单选题:对于一个链串s,查找第i个元素的复杂度为(  )。
A:O(n)
B:都不对
C:O(n2)
D:O(1)
正确答案:【O(n2)】

9、判断题:C语言中,char  c[4]=”abc”,d[4]=”abc”; 等价于char  c[4]=d[4]=”abc”;

A:错
B:对
正确答案:【错】

10、判断题:

C语言中,语句static  char  c[ ]=“after”;执行后,数组c的长度为5。

A:错
B:对
正确答案:【对】

剩余章节答案支付后查看
如有疑问请及时联系QQ 50895809反馈
如遇卡顿看不了剩余内容请换个浏览器即可打开

没找到的科目也可以提醒我们更新

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注