数据结构与算法(桂林电子科技大学) 知到智慧树答案满分完整版章节测试

兼碳庆扩假详很景稿恭垛笆齿

 

第一章 单元测试

1、 在数据结构中,与所使用的计算机无关的是数据的( )结构。

A:物理与存储
B:逻辑
C:物理
D:存储
答案: 逻辑

2、 在计算机中存储数据时,通常不仅要存储各数据元素的值,而且还要存储的( )。

A:数据元素的类型
B:数据的处理方法
C:数据元素之间的关系
D:都不对
答案: 数据元素之间的关系

3、 链式存储设计时,结点内的存储单元地址( )。

A:不一定连续
B:一定连续
C:一定不连续
D:部分连续,部分不连续
答案: 一定连续

4、 以下算法复杂度中,最小的是( )。

A:O(n!)
B:O(n^2)
C:O(nlogn)
D:O(2^n)
答案: O(nlogn)

5、 while(i<=n) i=i+2;
代码段的时间复杂度是( )

A:O(n)
B:O(nlogn)
C:O(logn)
D:O(1)
答案: O(n)

6、 某算法的时间复杂度为O(n^2),表明该算法 ( )

A:执行时间等于n^2
B:执行时间与n^2成正比
C:问题规模与n^2成正比
D:问题规模是n^2
答案: 执行时间与n^2成正比

7、 算法必须满足有穷性( )

A:错
B:对
答案: 对

8、 在相同规模n下,复杂度为O(n)的算法在时间上优于复杂度为O(2^n)的算法( )

A:错
B:对
答案: 对

9、 求整数n(n>=0)的阶乘的算法如下,
int fact(int n)
{ if(n<=1 return 1;
Return n*fact(n-1);
}
其时间复杂度为O(nlogn)( )

A:对
B:错
答案: 错

10、

有下列算法片段,请分析算法的时间复杂度是(   )

void func(int n)

{  int i=0,s=0;

   while (s<=n)

   { i++;

     s=s+i;

    }

}

A:O(n)
B:O(logn)
C:O(n^2)

D:O(sqrt(n))

答案: O(sqrt(n))

11、

以下代码段的时间复杂度是(    )

void fun(int k)

{ for(int i=1;i<=k;i*=2)

  printf(“%d ”,k);

}

int main()

{ for(int i=0;i<n;i++)

    fun(i);

}

A: O(nlogn)
B:O(logn^2)
C:O(n^2)
D:O(n)
答案:  O(nlogn)

第二章 单元测试

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

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

2、 一个顺序表所占用的存储空间大小与( )无关。

A:元素的类型
B:元素的存放顺序
C:元素中各字段的类型
D:表的长度
答案: 元素的存放顺序

3、 若线性表最常用的操作是存取第i个元素及其前驱和后继元素的值,为了提高效率,应采用( )的存储方式。

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

4、 对于顺序表,访问第i个位置的元素和在第i个位置插入一个元素的时间复杂度为( )。

A:O(n),O(n)
B:O(1), O(n)
C:O(1), O(1)
D:O(n),O(1)
答案: O(1), O(n)

5、 顺序表的插入算法中,当n个空间已满时,可再申请增加分配m 个空间,若申请失败,则说明系统没有( )可分配的存储空间。

A:n+m个
B:m个
C:n+m个连续
D:m个连续
答案: n+m个连续

6、 设线性表中有2n个元素,( )在单链表上实现要比在顺序表上实现效率更高。

A:顺序输出前k个元素
B:交换第i个元素和第2 n – i -1 个元素的值(i=0,…,n-1)
C:删除所有值为x 的元素
D:在最后一个元素的后面插入一个新元素
答案: 删除所有值为x 的元素

7、 在一个单链表中,已知q 所指结点是p 所指结点的前驱结点,若在q 和p 之间插入结点s, 则执行( )。

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

8、 在双链表中向p 所指的结点之前插入一个结点q 的操作为( )。

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

9、 线性表的顺序存储结构优于其链式存储结构。 ( )

A:对
B:错
答案: 错

10、 取线性表的第i个元素的时间与i 的大小有关( )

A:对
B:错
答案: 错

11、 线性表的逻辑顺序与存储顺序总是一致的。( )

A:错
B:对
答案: 错

12、 顺序存储方式存储密度大,但是插入、删除运算效率低。( )

A:对
B:错
答案: 对

13、 单链表中,增加一个头结点的目的是为了方便链表运算的实现。( )

A:对
B:错
答案: 对

第三章 单元测试

1、 下面关于串的叙述中,正确的是( )。

A:串是一种特殊的线性表
B:串中元素只能是字母
C:空串就是空白串
D:串的长度必须大于零
答案: 串是一种特殊的线性表

2、 两个字符串相等的条件是( )。

A:含有相同的字符集
B:串的长度相等
C:两个串的长度相等且对应位置的字符相同
D:都是非空串
答案: 两个串的长度相等且对应位置的字符相同

3、 若串str=“Software”,其子串的个数是( )。

A:9
B:36
C:18
D:37
答案: 37

4、 设有两个串p 和 q,其中q是p的子串,则求q在p中首次出现位置的算法称为( )。

A:求子串
B:串联接
C:模式匹配
D:求串长
答案: 模式匹配

5、 在KMP模式匹配中,用next 数组存放模式串的部分匹配信息。当模式串位j与目标串位i比较时,两字符不相等,则j的位移方式是( )。

A:j=next[j]
B:i不变
C:j不变
D:i=next[j]
答案: j=next[j]

6、 KMP算法的时间复杂度为O(mn)。( )

A:错
B:对
答案: 错

7、 KMP算法的时间复杂度为O(m+n)。( )

A:对
B:错
答案: 对

8、 KMP算法的特点是在模式匹配时指示主串的指针不会变小。( )

A:错
B:对
答案: 对

9、 已知串S=”AAAB”,其next数组值为0123。( )

A:错
B:对
答案: 对

10、

对于一个链串s,查找第一个字符值为x的算法的时间复杂度为( )

A:O(n)
B:O(1)
C:选项A和B都不对
答案: O(n)

第四章 单元测试

1、 在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶指针,当做出栈处理时,top 变化为( )。

A:top=0
B:top 不变
C:top++
D:top–
答案: top–

2、 栈的插入和删除操作在( ) 进行。

A:指定位置
B:栈顶
C:栈底
D:任意位置
答案: 栈顶

3、

用单链表表示的链式队列的队头在链表的( ) 位置。

A:链尾
B:链中
C:链头
D:都不是
答案: 链头

4、 输入序列为ABC,可以变为CBA时,经过的栈操作为( )

A:push,push,push,pop,pop.pop
B:push,push,pop.pop,push.pop
C:push,pop.push,push,pop.pop
D:push,pop.push,pop,push,pop
答案: push,push,push,pop,pop.pop

5、 若栈s1中保存整数,栈s2中保存运算符,函數F( ) 依次执行下述各步操作:
1)从s1中依次弹出两个操作数a和b. 2)从s2中弹出一个运算符op.
3)执行相应的运算b op a. 4)将运算结果压入s1中。
假定s1中的操作数依次是5, 8,3,2 (2在栈顶), s2中的运算符依次是*、-. + (+在栈顶)。调用3次F( )后,s1栈顶保存的值是( )。

A:-15
B:20
C:15
D:-20
答案: 15

6、 若一个栈的输入序列是1,2..,n, 输出序列的第一个元素是n,则第i个输出元素是( )。

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

7、 某栈的输入序列为a,b,c,d, 下面的4个序列中,不可能为其输出序列的是( )。

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

8、 元素a, b,c,d,e依次进入初始为空的栈中,若元素进栈后可停留、可出栈,直到所有元素都出栈,则在所有可能的出栈序列中,以元素d开头的序列个数是( )。

A:4
B:3
C:6
D:5
答案: 4

9、 向一个栈顶指针为hs的链栈中插入一个s结点时,应执行( )。

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

10、 消除递归不一定需要使用栈,此说法( )

A:对
B:错
答案: 对

11、 栈是实现过程和函数等子程序所必需的一种数据结构。( )

A:错
B:对
答案: 对

12、 若输入序列为1,2,3,4,5,6,则通过一个栈可以输出序列3,2,5,6,4,1. ( )

A:对
B:错
答案: 对

13、 在一个具有n个单元的顺序栈中,假定以地址低端(即0单元)作为栈底,以top作为栈顶位置,当做出栈处理时,top 变化为top++。( )

A:对
B:错
答案: 错

14、 链式栈与顺序栈相比,一个明显的优点是通常不会出现栈满的情况。( )

A:错
B:对
答案: 对



上方为免费预览版答案,如需购买完整答案,请点击下方红字

点击这里,购买完整版答案


 

点关注,不迷路,微信扫一扫下方二维码

关注我们的公众号:阿布查查  随时查看答案,网课轻松过

数据结构与算法(桂林电子科技大学) 知到智慧树答案满分完整版章节测试第1张


为了方便下次阅读,建议在浏览器添加书签收藏本网页

电脑浏览器添加/查看书签方法

1.按键盘的ctrl键+D键,收藏本页面

数据结构与算法(桂林电子科技大学) 知到智慧树答案满分完整版章节测试第2张

2.下次如何查看收藏的网页?

点击浏览器右上角-【工具】或者【收藏夹】查看收藏的网页

数据结构与算法(桂林电子科技大学) 知到智慧树答案满分完整版章节测试第3张


手机浏览器添加/查看书签方法

一、百度APP添加/查看书签方法

1.点击底部五角星收藏本网页

数据结构与算法(桂林电子科技大学) 知到智慧树答案满分完整版章节测试第4张

2.下次如何查看收藏的网页?

点击右上角【┇】-再点击【收藏中心】查看

数据结构与算法(桂林电子科技大学) 知到智慧树答案满分完整版章节测试第5张

二、其他手机浏览器添加/查看书签方法

1.点击【设置】-【添加书签】收藏本网页

数据结构与算法(桂林电子科技大学) 知到智慧树答案满分完整版章节测试第6张

2.下次如何查看收藏的网页?

点击【设置】-【书签/历史】查看收藏的网页

数据结构与算法(桂林电子科技大学) 知到智慧树答案满分完整版章节测试第7张

敢擦忌蚂碘雌溉侗跑长席镁芭