算法与数据结构 智慧树答案2024版100分完整版

檀派平赣目还厩缄讲互奠顶畔

轨牧扁册慕哪竞凤簧疵偿庆宋

绪论 单元测试

 

1、
学好算法与数据结构的关键在于多多实践。

A:错
B:对
答案: 对

第一章 单元测试

1、
数据结构是(  )

A:一种数据类型
B:相互之间存在一种或多种特定关系的数据元素的集合
C:数据的存储结构
D:一组性质相同的数据元素的集合
答案: 相互之间存在一种或多种特定关系的数据元素的集合

2、
下列说法错误的是()

A:数据处理方式总是与数据的表示形式相联系
B:数据是指描述客观事物的特征及活动所采用的符号形式
C:数据元素是数据的基本单位
D:数据在计算机存储器内的存在形式称为机外表示
答案: 数据在计算机存储器内的存在形式称为机外表示

3、
算法的描述方法只有语言方式。

A:对
B:错
答案: 错

4、
下列关于算法说法错误的是()

A:算法是对特定问题求解步骤的一种描述
B:算法是在存储结构上的操作实现方法
C:算法就是数学中的计算方法
D:算法是指令的有限序列
答案: 算法就是数学中的计算方法

5、
有哪几种存储结构?

A:顺序存储方式
B:散列存储方式
C:索引存储方式
D:链式存储方式
答案: 顺序存储方式;散列存储方式;索引存储方式;链式存储方式

6、
算法的效率主要是指()

A:

算法的空间效率

B:

其他选项都不对

C:

算法的时间效率

D:

算法的空间效率和时间效率

答案:

算法的空间效率和时间效率

 

7、
在数据结构的讨论中把数据结构从逻辑上分为()

A:紧凑结构与非紧凑结构
B:内部结构与外部结构
C:线性结构与非线性结构 
D: 静态结构与动态结构
答案: 线性结构与非线性结构 

8、
指出下列程序段的时间复杂度()
sum=1;
for (i=0;sum sum+=1;

A:

O(0)

B:

O(n*n)

C:

O(n)

D:

O(1)

答案:

O(n)

 

9、
树形结构中元素之间存在()关系

A:一对多
B:一对一
C:没有关系
D:多对多
答案: 一对多

10、
图形结构中元素之间存在()关系

A:没有关系
B:一对多
C:多对多
D:一对一
答案: 多对多

第二章 单元测试

1、
带头结点的单链表head为空的判定条件是()

A:head->next= =NULL
B:head= =NULL
C:head!=NULL
D:head->next= =head
答案: head->next= =NULL

2、
循环链表的主要优点是( )。

A:在进行插入、删除运算时能保证链表不断开
B:不再需要头指针
C:已知某结点位置后能容易找到其直接前驱
D:在表中任一结点出发都能扫描整个链表
答案: 在表中任一结点出发都能扫描整个链表

3、
线性表若采用链式存储结构时,要求内存中可用存储单元的地址()

A:连续或不连续都可以
B:必须是连续的
C:一定是不连续的
D:部分地址必须是连续的
答案: 连续或不连续都可以

4、
若一个线性表中最常用的操作是取第i个元素和找第i个元素的前趋元素,则采用( )存储方式最节省时间。

A:单链表
B:双链表
C:循环单链表
D:顺序表
答案: 顺序表

5、
在一个长度为n的顺序表中,在第i个元素之前插入一个新元素时,需向后移动( )个元素

A:i
B:n-i-1
C:n-i+1
D:n-i
答案: n-i+1

6、
线性表的顺序存储结构是一种( )存储结构。

A:散列存取
B:顺序存取
C:索引存取
D:随机存取
答案: 随机存取

7、
在双向循环链表中,在p指针所指的结点后插入一个指针q所指向的新结点,修改指针的操作是( )。

A:q->next=p->next;q->prior=p;p->next=q;p->next=q;
B:p->next=q;p->next->prior=q;q->prior=p;q->next=p->next;
C:p->next=q;q->prior=p;p->next->prior=q;q->next=q;
D:q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;
答案: q->prior=p;q->next=p->next;p->next->prior=q;p->next=q;

8、
在下列对顺序表进行的操作中,算法时间复杂度为O(1)的是( )。(答案中的i均为合法输入)

A:删除第i个元素
B:对顺序表中元素进行排序
C:在第i个元素之后插入一个新元素
D:访问第i个元素的前驱
答案: 访问第i个元素的前驱

9、
已知指针p和q分别指向某单链表中第一个结点和最后一个结点。假设指针s指向另一个单链表中某个结点,则在s所指结点之后插入上述链表应执行的语句为( )。

A:q->next=s->next;s->next=p;
B:p->next=s->next;s->next=q;
C:s->next=p;q->next=s->next;
D:s->next=q;p->next=s->next;
答案: q->next=s->next;s->next=p;

10、
在表长为n的顺序表中,当在任何位置删除一个元素的概率相同时,删除一个元素所需移动的平均个数为( )。

A:(n-1)/2
B:(n+1)/2
C:n
D:n/2
答案: (n-1)/2

 

第三章 单元测试

1、
栈和队列的共同点是( )

A:都是先进先出
B:没有共同点
C:都是先进后出
D:只允许在端点处插入和删除元素
答案: 只允许在端点处插入和删除元素

2、
一个栈的入栈序列a,b,c,d,e,则栈的不可能的输出序列是()

A:abcde
B:dceab
C:edcba
D:decba
答案: dceab

3、
设计一个判别表达式中括号是否配对的算法,采用( )数据结构最佳。

A:顺序表
B:队列
C:栈
D:链表
答案: 栈

4、
若用一个大小为6的数组来实现循环队列,且当rear和front的值分别为0,3。当从队列中删除一个元素,再加入两个元素后,rear和front的值分别为( )。

A:1和5
B:4和2
C:2和4
D:5和1
答案: 2和4

5、
循环队列用数组A0,m-1存放其元素值,已知其头尾指针分别是front和rear,则当前队列中的元素个数是( )

A:rear-front+1
B:rear-front
C:rear-front-1
D:(rear-front+m)%m
答案: (rear-front+m)%m

6、
一个顺序栈S,其栈顶指针为top,则将元素e入栈的操作是( )。(注:top指向待插入位置)

A:S->top=e;
B:*S->top=e;S->top++;
C:S->top++;*S->top=e;
D:*S->top=e
答案: *S->top=e;S->top++;

7、
在解决计算机主机和打印机之间速度不匹配问题时,通常设置一个打印数据缓冲区,主机将要输出的数据依次写入该缓冲区,而打印机则从该缓冲区中取走数据打印。该缓冲区应该是一个( )结构。

A:数组
B:堆栈
C:队列
D:线性表
答案: 队列

8、
当用大小为N的数组存储顺序循环队列时,该队列的最大长度为( )。

A:N+1
B:N-1
C:N-2
D:N
答案: N-1

9、
依次在初始为空的队列中插入元素a,b,c,d以后,紧接着做了两次删除操作,此时的队头元素是( )。

A:b
B:c
C:d
D:a
答案: c

10、
向一个栈顶指针为HS的链栈中插入一个s所指结点时,则执行(    )。(不带空的头结点)

A:

HS->next=s;

B:

s->next= HS->next;  HS->next=s;

C:

s->next= HS;  HS= HS->next;

D:

s->next= HS;  HS=s;

答案:

s->next= HS;  HS=s;

 


如需购买完整答案,请点击下方红字:

点击这里,购买完整答案


获取更多网课答案,请点击这里,进入www.mengmianren.com


 

洼乃棠欢茫枢角刑朗崩庐碳熊

赏裤汞捆尽邯沟骋拎咀棱巫京