随笔分类 - 算法设计与分析MOOC(北航)
摘要:4.1背包问题 动态规划的核心:如何构造一个高效的备忘录,提高整个问题求解的效率。 4.2最大子数组问题II
阅读全文
摘要:3.1逆序对计数问题 合并这个步骤是比较难的,也会区别于“最大数组问题”的地方。 归并排序的过程正好可以顺便统计逆序对,所以将统计逆序对嵌入到归并排序的算法当中。 所以合并的算法复杂度就降到了归并排序的O(n)。 3.2快速排序 归并排序:分的过程,1/2切开,所以这部分没有话费多少时间,即简化分解
阅读全文
摘要:2.1归并排序 问题特点:局部有序 快速合并:比较两有序数组当前最小元素,将较小者逐一合入新数组 输入规模越大,两两合并更有效。 但是数组可能没有局部有序特性,需要进行构建:两两合并 这个方法的本质就是归并排序算法。 归:递归 并:合并 2.2递归式求解 (1)递归树法:直观,不好求 (2)代入法:
阅读全文
摘要:课程目标: 如何判断哪个算法更高效:需分析比较算法运行效率 如何设计正确高效的算法:需掌握算法设计的方法论 1.1算法的由来 1.2算法的定义 要知道算法的定义,首先要知道计算问题这个概念,就是给定数据输入,计算满足某种性质输出的问题。而输入和输出这两个环节中间的部分,就是算法。 比如经典的排序算法
阅读全文