【算法】计算机算法设计与分析考试复习要点【原创技术】

来源:互联网 发布:淘宝保证金退不出来 编辑:程序博客网 时间:2024/05/23 17:34

所选教材:

计算机算法设计与分析(第3版)

作者:

王晓东

出版社:

电子工业出版社

1.选择范例(10题,共20分)


分支限界法与回溯法都是在问题的解空间树T上搜索问题的解,二者(B)。
A.求解目标不同,搜索方式相同B.求解目标不同,搜索方式也不同
C.求解目标相同,搜索方式不同D.求解目标相同,搜索方式也相同


下列是动态规划算法基本要素的是(A)。
A、最优子结构 B、构造最优解 C、算出最优解 D、定义最优解


下列算法中通常以自顶向下的方式求解最优解的是(C)。
A.蛮力法 B.动态规划法 C.贪心法 D.随机算法法


下面不是分支界限法搜索方式的是(D)。
A、广度优先 B、最小耗费优先 C、最大效益优先 D、深度优先

能够求得问题的解,但却无法有效地判定解的正确性。(B)
A.数值概率算法 B.蒙特卡罗算法 C.拉斯维加斯算法 D.舍伍得算法


Strassen矩阵乘法是利用(A)实现的算法。
A、分治策略 B、动态规划法 C、贪心法 D、回溯法


2.填空范例(10空,共20分)
算法的“确定性”指的是组成算法的每条( )是清晰的,无歧义的。


最小优先队列分支限界法中,优先值较( )的结点优先级较高,通常用()实现,体现( )的原则。


最优子结构性质的含义是( )。


( )和( )是贪心算法的基本要素。


回溯法中的解空间树结构通常有两种,分别是( )、( )。


计算时间O(1),O(logn) ,O(n) ,O(nlogn) ,O(n2) ,O(n3)的升序排列为:( )。


所给的问题是确定n个元素满足某种性质的排列时,相应的解空间树称为( ),通常有( )个叶子结点。


3.简答范例(共30分,简答题不要写太多,意思表达出来就可以了,多写也不一定多得分)


算法与程序设计语言关系是怎样的?


简述回溯法求解问题的一般步骤。


简述状态空间树的广度优先展开方法。


状态空间树中的活结点、E-结点、死结点


简述用回溯法设计算法的步骤。


举例说明最小生成树在实际中的应用。


4.分析设计题(共30分)


上课反复讲、反复强调的几个问题,要求懂原理,会设计(关键是思路,表达方法可以是语言、伪代码、代码),会进行复杂度分析。
建议:答题时不要把所有的东西写一大段,适当分步骤、分要点,如XXX算法原理
①做什么,怎么做
②做什么,怎么做
③做什么,怎么做
……等


复习要点及要求
【理解】算法性质:输入、输出、确定性(涵义)、有限性(涵义)


【知道】算法复杂性:算法需要的计算机资源;时间、空间;最好、最坏、平均,最坏情况时间复杂性


【知道】算法复杂性的表示方法:渐进复杂度(为什么用渐进表示?爱因斯坦那句话)


【掌握】算法复杂性的表示方法:O(一些运算规则),o,Ω,θ,图形曲线长成什么样?分别对应上界?下界?紧确上界?紧确下界?大小写字母在图形表示上有何区别?


【知道】并非一切递归函数都能用非递归定义(知道,如Ackerman,双递归)


【知道】汉诺塔问题:基本思想、基本步骤


【掌握】二分搜索技术:思想、原理,基本步骤、描述,最坏情况下的时间复杂度O(log n)


【理解】合并排序:思想、原理、步骤、复杂度O(nlogn)


【知道】实际上,对排序算法而言,一般好的算法复杂度O(nlogn),不好的算法

O(n^2)

【掌握】快速排序:思想、原理、步骤、复杂度(平均O(nlog n),为什么平均情况下是这个复杂度?最坏呢?)如何改进?(随机化算法)


【理解】动态规划:基本思想,与分治法区别,好处;动态规划解题的基本步骤P48、动态规划基本要素:最优子结构、子问题重叠


【知道】备忘录方法与动态规划的主要区别(计算方向):动态规划保留前面计算结果,牺牲部分空间换取效率,自底向上计算;


【掌握】动态规划和贪心法的区别联系(联系就是都得具有最有子结构性质,可举例:背包问题与0-1背包问题);局部最优、全局最优;可应用贪心法需满足什么性质?(贪心选择,什么叫贪心选择?可举例)


【掌握】哈夫曼编码:可进行文件压缩(压缩率会算),原理;构造最优前缀码的二叉树;平均码长(会计算),复杂度。


【理解】单源最短路径:原理、实现的基本思路(会描述)


【掌握】最小生成树:概念(最小生成树有多少条边?忘了就画图试试)、应用、两种方法


【理解】回溯法:解空间、解向量、解空间树的表示,活结点、死结点、扩展结点,活结点有几次机会变成扩展结点?


【知道】回溯法基本思想:深度优先搜索。


【掌握】排列树、子集树:问题类型特点、节点数目,知道哪类问题对应哪种树。


【掌握】装载问题:原理、思想、步骤、解空间、解空间树结构、算法设计、策略、上界函数(如何定义的?)、复杂性分析


【掌握】n后问题:原理、解空间(树结构)、复杂性分析,要掌握其解空间树的表示方法,给出问题会画出解空间树,并在解空间树中求解。


【掌握】0-1背包问题、旅行售货员问题,都要仔细看,解空间树的结点搜索顺序。


【知道】分支限界法:与回溯的区别联系,广度优先或最大受益(最小耗费)优先,活结点只有一次机会成为扩展节点


【知道】选择下一个活结点(方式、特点):队列式FIFO、优先队列式(堆)


【掌握】装载、0-1背包、TSP:上界函数的定义、搜索截至的条件(在特定上界函数的定义下,叶子节点变为扩展结点即结束)


【掌握】n后:解空间树的搜索顺序,会画解空间树,会在解空间树中求解。


【理解】随机化算法思想、特点、随机数、伪随机数


【知道】四类算法、特点:数值随机化、蒙特卡罗法、拉斯维加斯算法、舍伍德算法

更多详细内容::::::去学习

原创粉丝点击