
北航算法与分析课程笔记
ponytaill
绝望之所虚妄,正与希望相同。
展开
-
北航算法与分析课程笔记(一)
北航算法与分析课程笔记(一)原创 2022-01-14 20:08:27 · 398 阅读 · 0 评论 -
北航算法与分析课程笔记(二)
算法设计与分析2022 1.14 by ponytail归并排序问题特点:局部有序快速合并:比较两有序数组当前最小元素,将较小者逐一放入新数组。后续策略:①逐一合并 ②两两合并 (数字规模越大,两两合并的优势越明显)从杠铃增重到排序问题先两两分再两两和,化繁为简分而治之算法伪代码合并伪代码归并排序:复杂度分析递归树法:用树的形式表示抽象递归...原创 2022-01-17 19:17:14 · 273 阅读 · 0 评论 -
北航算法与分析课程笔记(七)
算法设计与分析2022 1.17 by ponytail次序选择问题文章目录次序选择问题问题背景形式化定义求解方案1.数组排序2.快速排序思想伪代码时间复杂度如何摆脱最坏情况?使用随机位置划分复杂度分析总结\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LzVKYJfi-1642418938061)(C:\Users\Lenovo\AppData\Roaming\Typora\typora-user-images\image-20220117185029781.png原创 2022-01-17 19:31:56 · 230 阅读 · 0 评论 -
北航算法与分析课程笔记(六)
算法设计与分析2022 1.17 by ponytail快速排序文章目录快速排序从归并排序到快速排序基本思想算法框架伪代码时间复杂度分析快速排序看似不优于归并排序从归并排序到快速排序归并排序:简化分解,注重合并快速排序:侧重分解,简化合并基本思想算法框架合并的代价,很低很低。伪代码时间复杂度分析最好情况最坏情况快速排序看似不优于归并排序...原创 2022-01-17 19:28:35 · 721 阅读 · 0 评论 -
北航算法与分析课程笔记(五)
算法设计与分析2022 1.17 by ponytail文章目录逆序对计数问题问题背景逆序对形式化定义解决方案1.蛮力枚举2.分而治之重点:求解S3分析利用归并排序伪代码小结问题:分冶策略的关键是什么?逆序对计数问题问题背景逆序对逆序对:当i<j时,A[I]>A[j]的二元组(A[i],A[j])形式化定义解决方案1.蛮力枚举对于数组的每个元素A[i],枚举j(j>i),并统计逆序对个数。时间复杂度:O(n2)2.分而治之类比最大子数组问题,有跨中间问题重原创 2022-01-17 19:26:55 · 248 阅读 · 0 评论 -
北航算法与分析课程笔记(四)
算法设计与分析2022 1.17 by ponytail最大子数组问题I文章目录最大子数组问题I问题背景形式化定义解决方案1.蛮力枚举2.优化枚举3.分而治之合并问题解:如何求S3?伪代码时间复杂度小结问题:是否可以设计一种时间复杂度为O(n)的算法?问题背景子数组:数组中一段连续的序列问题:怎么寻找数组X最大的非空子数组?(最大是指,元素之和最大)形式化定义解决方案1.蛮力枚举时间复杂度:O(n3)问题:存在重复计算2.优化枚举利用前面的已经计算的子数组和,计算下一个子数组原创 2022-01-17 19:23:01 · 311 阅读 · 0 评论 -
北航算法与分析课程笔记(三)
算法设计与分析2022 1.17 by ponytail递归式求解(求解时间复杂度)递归树法实例代入法以不严谨的话来说,就是猜测时间复杂度是多少,然后用数学归纳法证明。缺点:不易猜问题:猜测解不易得时如何求解递归式?主定理法求和式总结简化形式例子递归式分析方法比较...原创 2022-01-17 19:20:24 · 295 阅读 · 0 评论