1、算法的复杂性有 时间 复杂性和 空间 复杂性之分。
2、算法要满足输入、 输出 、确定性、可行性和 有限性 四条性质。
3、算法的“确定性”指的是组成算法的每条 指令 是清晰的,无歧义的。
4、任何可用计算机求解的问题所需的时间都与其 规模 有关。
5、当设定的问题有多种算法去解决时,其选择算法的主要原则是 选择其中复杂性最低者。
6、用函数自身所定义的函数是一种 递归函数。
7、一个直接或间接调用自身的算法称为 递归算法。
8、穷举法的基本思想是对问题的所有可能状态一一测试,直到找到解或将全部可能状态都测试为止。
9、在直接采用穷举法设计算法中,主要是使用循环语句和选择语句,循环语句用于穷举所有可能的情况,而选择语句判定当前的条件是否为所求的解。
10、冒泡排序算法属于穷举法
11、分治法通常采用递归算法设计技术,在每一层递归上都有3个步骤:分解、求解子问题、合并。
13、快速排序算法是基于 分治策略 的一种排序算法。
14、快速排序算法的性能取决于 划分的对称性 。
15、使用二分搜索算法在n个有序元素中,在最佳情况下,搜索的时间复杂度为o(1),在最坏情况下,搜索的时间复杂度为O(log2n)。
16、大整数乘积算法是用 分治法 来设计的。
17、贪心法的基本思路是在对问题求解时总是做出在当前看来是最好的选择,也就是说贪心法不从整体最优上加以考虑,所做出的仅是在某种意义上的局部最优解
18、贪心算法的基本要素是 贪心选择 性质和 最优子结构 性质 。
19、所谓贪心选择性质是指 所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到 。
20、 贪心选择性质 是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。
21、问题的最优子结构性质 是该问题可用动态规划算法和贪心算法求解的关键特征。
22、7个独立的作业{a, b, c, d, e, f, g},加工时间分别为{2,14,4,16,6,5,3},3台机器:M1, M2, M3贪心调度结果的加工时间为17,达到最优。
23、动态规划算法的基本思想是将待求解问题分解成若干 子问题 ,先求解 子问题 ,然后从这些 子问题 的解得到原问题的解。
24、动态规划算法的两个基本要素是 最优子结构 性质和 重叠子问题 性质 。
25、若序列X={B,C,A,D,B,C,D},Y={A,C,B,A,B,D,C,D},序列X和Y的最长公共子序列是{BABCD}或{CABCD}或{CADCD}
27、问题的解空间树常见的有子集树、排列树两种类型。
28、以深度优先方式系统搜索问题解空间的算法称为 回溯法 。
29、回溯法在解空间树上的搜索方式是 深度优先。
30、回溯法搜索解空间树时,常用的两种剪枝函数为 约束函数 和 限界函数 。
31、用回溯法解0/1背包问题时,该问题的解空间结构为 子集树 结构。
32、用回溯法解批处理作业调度问题时,该问题的解空间结构为 排列树 结构。
33、旅行售货员问题的解空间树是 排列树 。
34、分支界限法和回溯法分别用广度优先遍历或者最小耗费优先、深度优先的方式搜索解空间树。
35、回溯法和分支限界法 在搜索解空间树的时候,为了避免无效搜索,通常使用剪枝策略来提高搜索效率。
36、广度优先是 分支界限法 的一种搜索方式。
37、以广度优先或以最小耗费方式搜索问题解的算法称为 分支限界法 。
38、分支界限法和回溯法主要区别在于 求解目标和搜索方式不同。
38、分支界限法的求解目标是找出满足约束条件的一个解,或是在满足约束条件的解中找出在某种意义下的最优解。
40、分支限界法主要有 队列式(FIFO) 分支限界法和 优先队列式 分支限界法。
41、优先队列式分支界法选取扩展结点的依据是 结点的优先级
42、利用分支界限法实现算法设计时,通常采用 堆 实现来构造优先队列。
43、解决0/1背包问题可以使用动态规划、回溯法和分支限界法,其中不需要排序的是 动态规划,需要排序的是回溯法,分支限界法。