![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法设计与分析
文章平均质量分 61
lewellin
这个作者很懒,什么都没留下…
展开
-
分而治之篇-二路归并排序
不断递归,将左右两部分数组转换为有序数组,再利用MargePass进行左右数组的合并当 left == right 时返回。原创 2023-03-14 14:10:26 · 122 阅读 · 0 评论 -
分而治之篇-最大子数组和
不断二分,记左边数组的最大子数组和为 s_1 ,右边数组最大子数组和为 s_2 ,跨中间区域的最大子数组和为 s_3原创 2023-03-14 14:06:16 · 157 阅读 · 0 评论 -
分而治之篇-逆序对计数问题
时间复杂度为 `O(nlogn)`二分拆分原数组,算出左边数组的逆序对个数 s_1,右边数组的逆序对个数 s_2 ,因合并而产生的逆序对个数 s_3,则原数组的逆序对个数:s = s1 + s2 + s3原创 2023-03-13 17:57:56 · 458 阅读 · 0 评论 -
分而治之篇-堆排序
堆排序的时间复杂度为O(nlogn)首先对整体的数组进行最大堆建立,然后将第 1 号元素和第 n 号元素互换位置,此时的第 n 号元素即为最大值,在对第 1 号元素进行最大堆调整,则又为一个大顶堆。原创 2023-03-13 17:48:52 · 50 阅读 · 0 评论 -
cpp STL
erase函数释放迭代器:不可重复释放,对于释放过一次的迭代器再次释放会炸掉。C++提供了string类型,可以直接对字符串进行操作。访问迭代器的下一个元素用next()函数。包含在头文件string中。原创 2023-02-17 17:37:32 · 156 阅读 · 0 评论