0.0576

五煦查题

快速找到你需要的那道考题与答案

mooc算法设计与分析_6章节答案(慕课2023课后作业答案)

57 min read

mooc算法设计与分析_6章节答案(慕课2023课后作业答案)

第一章 神秘算法的算法设计序幕

1.1 专家访谈:算法是什么?随堂测验

1、当输入规模为n时,分析下列算法渐进复杂性中最低的章节作业是( )
A、5n
B、答案答案
C、慕课
D、课后n!

2、算法设计算法的分析复杂性是算法效率的度量,是章节作业评价算法优劣的重要依据。

3、答案答案算法就是慕课一组有穷的规则,它们规定了解决某一特定类型问题的课后一系列运算。

4、算法设计计算机的分析资源最重要的是内存和运算资源。因而,章节作业算法的复杂性有时间和空间之分。

考考算法小常识

1、当输入规模为n时,下列算法渐进复杂性中最低的是
A、5n
B、
C、
D、n!

2、下面(?)不是算法所必须具备的特性
A、有穷性
B、确切性
C、高效性
D、可行性

3、算法的复杂性是算法效率的度量,是评价算法优劣的重要依据。

4、算法就是一组有穷的规则 ,它们规定了解决某一特定类型问题的 一系列运算。

5、计算机的资源最重要的是内存和运算资源。因而,算法的复杂性有时间和空间之分。

6、在一般情况下,一个算法的时间复杂度是问题规模的函数

7、设待处理问题的规模为n,若一个算法的时间复杂度为一个常数,则表示成数量级的形式为O(n)

第二章 自己玩自己-递归

哈哈,几道小题考倒你

1、Hanoi塔问题:要求将塔座A上的的所有n圆盘移到塔座B上,借助塔座C,并仍按同样顺序叠置。移动圆盘时遵守Hanoi塔问题的移动规则。由此设计出解Hanoi塔问题的递归算法正确的为:
A、void hanoi(int n, int A, int C, int B) { if (n > 0) { hanoi(n-1,A,C, B); move(n,a,b); hanoi(n-1, C, B, A); }
B、void hanoi(int n, int A, int B, int C) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); }
C、void hanoi(int n, int C, int B, int A) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); }
D、void hanoi(int n, int C, int A, int B) { if (n > 0) { hanoi(n-1, A, C, B); move(n,a,b); hanoi(n-1, C, B, A); } }

2、算法分析的目的是(?)
A、找出数据结构的合理性
B、研究算法中输入和输出的关系
C、分析算法的效率以求改进
D、分析算法的易读性和文档性

3、对于汉诺塔问题,我们一般采用递归法来解决

4、在设计算法的时候,常用的思想是: 。

5、算法指的是对特定问题求解步骤的一种描述,是指令的______。

第三章 分而治之—分治

又要考你了,呵呵

1、二分搜索算法是利用( )实现的算法。
A、分治策略
B、动态规划法
C、贪心法
D、回溯法

2、实现合并排序利用的算法是( )
A、分治策略
B、动态规划法
C、贪心法
D、回溯法

3、分治法的思想是( )
A、将大问题分解成小问题
B、将小问题合并成大问题
C、用树的方式解决
D、随机产生解

4、出于“平衡子问题”的思想,通常分治法在分解原问题时,形成若干子问题,这些子问题的规模都大致相同。

第四章 人性本贪—贪心

考考你够不够贪心

1、能采用贪心算法求最优解的问题,一般具有的重要性质为:
A、最优子结构性质与贪心选择性质
B、重叠子问题性质与贪心选择性质
C、最优子结构性质与重叠子问题性质
D、预排序与递归调用

2、下面问题( )不能使用贪心法解决。
A、单源最短路径问题
B、N皇后问题
C、最小花费生成树问题
D、背包问题

3、下列算法中不能解决0/1背包问题的是
A、贪心法
B、动态规划
C、回溯法
D、分支限界法

4、贪心算法与动态规划算法的主要区别是
A、最优子结构
B、贪心选择性质
C、构造最优解
D、定义最优解

5、下面是贪心算法的基本要素的是
A、重叠子问题
B、构造最优解
C、贪心选择性质
D、定义最优解

6、用贪婪算法解决零钱兑换问题时,总能找到问题的最优解

第五章 走来走去,好累啊!——回溯

考验时间到

1、回溯法在问题的解空间树中,按( )策略,从根结点出发搜索解空间树。
A、广度优先
B、活结点优先
C、扩展结点优先
D、深度优先

2、程序块( )是回溯法中遍历排列树的算法框架程序。
A、void backtrack (int t) { if (t>n) output(x); else for (int i=t;i<=n;i++) { swap(x[t], x[i]); if (legal(t)) backtrack(t+1); swap(x[t], x[i]); } }
B、void backtrack (int t) { if (t>n) output(x); else for (int i=0;i<=1;i++) { x[t]=i; if (legal(t)) backtrack(t+1); } }
C、void backtrack (int t) { if (t>n) output(x); else for (int i=0;i<=1;i++) { x[t]=i; if (legal(t)) backtrack(t-1); } }
D、void backtrack (int t) { if (t>n) output(x); else for (int i=t;i<=n;i++) { swap(x[t], x[i]); if (legal(t)) backtrack(t+1); } }

3、回溯法的效率不依赖于以下哪一个因素?
A、产生x[k]的时间;
B、满足显约束的x[k]值的个数;
C、问题的解空间的形式;
D、计算上界函数bound的时间

4、回溯法解旅行售货员问题时的解空间树是( )
A、子集树
B、排列树
C、深度优先生成树
D、广度优先生成树

5、回溯算法是不是确定的算法
A、是
B、不是
C、有时候是有时候不是
D、看问题

6、应用回溯法求解问题时,首先应明确定义问题的解空间,该解空间应至少包含问题的一个最优解。

7、运用回溯法解题的关键要素有以下三点: (1) 针对给定的问题,定义问题的解空间; (2) 确定易于搜索的解空间结构; (3) 以深度优先方式搜索解空间,并且在搜索过程中用______函数避免无效搜索。

第七章 世界那么复杂,人生要好好规划——动态规划算法

考吧考吧考吧!

1、动态规划算法的基本要素为
A、最优子结构性质和贪心选择性质
B、重叠子问题性质和贪心选择性质
C、最优子结构性质和重叠子问题性质
D、预排序和递归调用

2、矩阵连乘问题的算法可由()设计实现
A、分支界限算法
B、动态规划算法
C、贪心算法
D、回溯算法

3、一个问题可用动态规划算法或者贪心算法求解的关键特征是问题的()
A、重叠子问题
B、最优子结构性质
C、贪心选择性质
D、定义最优解

4、动态规划一般可分为线性动规,区域动规,树形动规,背包动规四类。

5、动态规划使包含同一个子问题的所有问题共用一个子问题解,所以并不需要很大的空间以存储中间产生的结果,从而体现动态规划的优越性。

6、问题的 是该问题可以用动态规划算法或贪心算法求解的关键特征

7、多边形问题的算法可由 算法设计实现