“计算机算法设计与分析”期末考点以及应试思路-D_Dan

申明:纯属个人观点,仅供大家参考,最后预祝大家取得好成绩
WINNER WINNER ,ALGORITHM IS FULL MARKS!


1、算法是指解决问题的一种方法或一个过程。算法是由若干条指令组成的有序序列。

2、算法的性质

输入:有零个或多个由外部提供的量作为算法的输入

输出:算法产生至少一个量作为输出

确定性:组成算法的每条指令是清晰的,无歧义的

有限性:算法中每条指令的执行次数是有限的,执行每条指令的时间也是有限的

3、程序与算法的区别:程序是算法用某种程序设计语言的具体实现,程序可以不满足算法的有限性性质。

4、P3:O、Ω、θ 的含义

5、P7:1-1、1-3

6、分治法:将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同。递归的解这些子问题,然后将各子问题的解合并得到原问题的解。

7、二分算法:在最坏的情况下时间复杂性为O(logn)

8、棋盘覆盖:考的应该会特别简单,不详细说明了(如有疑问:请点这里)

9、合并排序:应该是让大家写出第N趟排序之后的结果

10、循环赛日程表:把书上的样题看懂,有点简单,不多说

11、动态规划思想:动态规划算法与分治法类似,其基本思想也是将待求问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。与分治法不同的是,适合于动态规划法求解的问题,经分解得到的子问题往往不是互相独立的。

12、动态规划基本要素:最优子结构性质、重叠子问题性质

13、动态规划求解步骤:

找出最优解的性质,并刻画出其结构性质

递归的定义最优值

以自底向上的方式计算出最优值

根据计算最优值时得到的信息,构造最优解

14、最长公共子序列:会构造b数组、c数组(最好自己亲自动手去画一下,尝试着自己写出来b数组和c数组,倒着推回去验证下对不对)

15、0-1背包问题以及背包问题现场面授具体讲


你可能感兴趣的:(“计算机算法设计与分析”期末考点以及应试思路-D_Dan)