![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
北航算法与分析课程笔记
ponytaill
绝望之所虚妄,正与希望相同。
展开
-
北航算法与分析课程笔记(一)
北航算法与分析课程笔记(一)原创 2022-01-14 20:08:27 · 342 阅读 · 0 评论 -
北航算法与分析课程笔记(二)
算法设计与分析 2022 1.14 by ponytail 归并排序 问题特点:局部有序 快速合并:比较两有序数组当前最小元素,将较小者逐一放入新数组。 后续策略:①逐一合并 ②两两合并 (数字规模越大,两两合并的优势越明显) 从杠铃增重到排序问题 先两两分再两两和,化繁为简 分而治之 算法伪代码 合并伪代码 归并排序:复杂度分析 递归树法:用树的形式表示抽象递归 ...原创 2022-01-17 19:17:14 · 227 阅读 · 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 · 196 阅读 · 0 评论 -
北航算法与分析课程笔记(六)
算法设计与分析 2022 1.17 by ponytail 快速排序 文章目录快速排序从归并排序到快速排序基本思想算法框架伪代码时间复杂度分析快速排序看似不优于归并排序 从归并排序到快速排序 归并排序:简化分解,注重合并 快速排序:侧重分解,简化合并 基本思想 算法框架 合并的代价,很低很低。 伪代码 时间复杂度分析 最好情况 最坏情况 快速排序看似不优于归并排序 ...原创 2022-01-17 19:28:35 · 682 阅读 · 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 · 193 阅读 · 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 · 229 阅读 · 0 评论 -
北航算法与分析课程笔记(三)
算法设计与分析 2022 1.17 by ponytail 递归式求解(求解时间复杂度) 递归树法 实例 代入法 以不严谨的话来说,就是猜测时间复杂度是多少,然后用数学归纳法证明。 缺点:不易猜 问题:猜测解不易得时如何求解递归式? 主定理法 求和式 总结 简化形式例子 递归式分析方法比较 ...原创 2022-01-17 19:20:24 · 260 阅读 · 0 评论