申明:纯属个人观点,仅供大家参考,最后预祝大家取得好成绩
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背包问题以及背包问题现场面授具体讲