第一章 单元测试
1、单选题:下列叙述中正确的是( )
A:所谓算法就是计算方法
B:程序可以作为算法的一种描述方法
C:算法设计只需考虑得到计算结果
D:算法设计可以忽略算法的运算时间
正确答案:【程序可以作为算法的一种描述方法】
2、判断题:数据的最小单位是数据项( )
A:对
B:错
正确答案:【对】
3、单选题:在数据结构中,从逻辑上可以把数据结构分成( )
A:动态结构和静态结构
B:紧凑结构和非紧凑结构
C:线性结构和非线性结构
D:内部结构和外部结构
正确答案:【线性结构和非线性结构】
4、单选题:与数据元素本身的形式、内容、相对位置、个数无关的是数据的( )
A:存储结构
B:存储实现
C:逻辑结构
D:运算实现
正确答案:【逻辑结构】
5、单选题:以下说法正确的是( )
A:数据元素是数据的最小单位
B:数据项是数据的基本单位
C:数据结构是带有结构的各数据项的集合
D:一些表面上很不相同的数据可以有相同的逻辑结构
正确答案:【一些表面上很不相同的数据可以有相同的逻辑结构】
6、单选题:下面代码段的时间复杂度是()。
s=0;
for ( i=0; i<n; i++ )
for( j=0; j<n; j++ )
s+=B[i][j];
sum=s;
A:O(1)
B:O(logn)
C:O(n)
D:
正确答案:【
】
7、单选题:下面代码段的时间复杂度是()。
x=0;
for( i=1; i<n; i++ )
for ( j=1; j<=n-i; j++ )
x++;
A:O(n)
B:
C:
D:O(logn)
正确答案:【
】
8、判断题:
A:对
B:错
正确答案:【对】
9、判断题:
A:对
B:错
正确答案:【错】
10、判断题:
A:对
B:错
正确答案:【错】
第二章 单元测试
1、单选题:下面关于线性表的叙述中,错误的是哪一个()
A:线性表采用顺序存储,必须占用一片连续的存储单元
B:线性表采用顺序存储,便于进行插入和删除操作
C:线性表采用链接存储,不必占用一片连续的存储单元
D:线性表采用链接存储,便于插入和删除操作
正确答案:【线性表采用顺序存储,便于进行插入和删除操作】
2、单选题:在具有n个结点的单链表中,实现下列哪个操作,其算法的时间复杂度是O(n)?
A:在地址为p的结点之后插入一个结点
B:删除开始结点
C:遍历链表和求链表的第i个结点
D:删除地址为p的结点的后继结点
正确答案:【遍历链表和求链表的第i个结点】
3、单选题:链表不具有的特点是()
A:可随机访问任一个元素
B:插入删除不需要移动元素
C:不必事先估计存储空间
D:所需空间与线性表长度成正比
正确答案:【可随机访问任一个元素】
4、单选题:带头结点的单链表L为空的条件是()
A:L==NULL;
B:L->next==NULL;
C:L->next==L;
D:L->next->next==NULL;
正确答案:【L->next==NULL;】
5、单选题:在单链表指针为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;
正确答案:【s->next=p->next;
p->next=s;】
6、单选题:在长度为n的顺序表的表尾插入一个新元素的时间复杂度为()
A:O(n)
B:O(1)
C:O(n2)
D:O(log2n)
正确答案:【O(1)】
7、单选题:单链表中,增加头结点的目的是为了( )
A:使单链表至少有一个结点
B:标示表结点中首结点的位置
C:方便运算的实现
D:说明单链表是线性表的链式存储实现
正确答案:【方便运算的实现】
8、判断题:线性表的逻辑顺序与物理顺序总是一致的()
A:对
B:错
正确答案:【错】
9、判断题:取线性表的第i个元素的时间同i的大小有关 ( )
A:对
B:错
正确答案:【错】
10、判断题:线性表的长度是线性表所占用的存储空间的大小()
A:对
B:错
正确答案:【错】
第三章 单元测试
1、单选题:设有六列火车,编号为1,2,3,4,5,6,顺序开进一个栈式结构的站台,问下列输出序列中,哪个是不可能出现的( )。
A:1,2,3,4,5,6
B:6,5,4,3,2,1
C:3,1,2,6,5,4
D:3,2,1,6,5,4
正确答案:【3,1,2,6,5,4】
2、判断题:栈和队列都是运算受限的线性表。( )
A:对
B:错
正确答案:【对】
3、判断题:当用长度为N的数组顺序存储一个栈时,假定用top==N表示栈空,则表示栈满的条件是top==1。( )
A:对
B:错
正确答案:【错】
4、单选题:元素a, b, c, d, e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是( )。
A:3
B:4
C:5
D:6
正确答案:【4
】
5、单选题:已知循环队列存储在一维数组A[0..n-1] 中,且队列非空时front和rear分别指向队头元素和队尾元素。若初始时队列为空,且要求第1个进入队列的元素存储在A[0]处,则初始时front和rear的值分别是( )。
A:0, 0
B:0, n-1
C:n-1, 0
D:n-1, n-1
正确答案:【0, n-1】
6、单选题:数组Q[n]用来表示一个循环队列,f为当前队列头元素的前一位置,r为队尾元素的位置,假定队列中元素的个数小于n,计算队列中元素个数的公式为( )。
A:r-f
B:(n+f-r)%n
C:n+r-f
D:(n+r-f)%n
正确答案:【(n+r-f)%n】
7、单选题:若一个栈以向量V[1..n]存储,初始栈顶指针top设为n+1,则元素x进栈的正确操作是( )。
A:top++; V[top]=x;
B:V[top]=x; top++;
C:top–; V[top]=x;
D:V[top]=x; top–;
正确答案:【top–; V[top]=x;】
8、单选题:设栈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
正确答案:【3】
9、单选题:循环队列放在一维数组A[0…M-1]中,end1指向队头元素,end2指向队尾元素的后一个位置。假设队列两端均可进行入队和出队操作,队列中最多能容纳M-1个元素。初始时为空,下列判断队空和队满的条件中,正确的是( )。
A:队空:end1 == end2; 队满:end1 == (end2+1) mod M
B:队空:end1 == end2; 队满:end2 == (end1+1) mod (M-1)
C:队空:end2 == (end1+1)mod M; 队满:end1 == (end2+1) mod M
D:队空:end1 == (end2+1); 队满:end2 == (end1+1) mod (M-1)
正确答案:【队空:end1 == end2; 队满:end1 == (end2+1) mod M】
10、单选题:用链接方式存储的队列,在进行删除运算时( )。
A:仅修改头指针
B:仅修改尾指针
C:头、尾指针都要修改
D:头、尾指针可能都要修改
正确答案:【头、尾指针可能都要修改】
第四章 单元测试
1、单选题:由3 个结点可以构造出多少种不同的树()
A:2
B:3
C:4
D:5
正确答案:【2
】
2、单选题:一棵树高为K的完全二叉树至少有( )个结点
A:
B:
C:
D:
正确答案:【
】
3、单选题:将含有83个结点的完全二叉树从根结点开始编号,根为1号,按从上到下、从左到右顺序结点编号,那么编号为41的双亲结点编号为( )
A:42
B:40
C:21
D:20
正确答案:【20】
4、单选题:对于有n 个结点的二叉树, 其高度为()
A:
B:
如有任何疑问请及时联系QQ 50895809反馈