SF
图解数据结构与算法
图解数据结构与算法
注册登录
关注博客
注册登录
主页
关于
RSS
图解归并排序
知识不加糖
2020-02-12
阅读 7 分钟
3.3k
这次我们介绍另一种时间复杂度为O(nlogn)的排序算法叫做归并排序。归并排序在数据量大且数据递增或递减连续性好的情况下,效率比较高,且是O(nlogn)复杂度下唯一一个稳定的排序。
图解快速排序及双路三路快速排序
知识不加糖
2020-02-11
阅读 7 分钟
11.9k
之前我们介绍了交换类排序中的冒泡排序,这次我们介绍另一种交换类排序叫做快速排序。快速排序的优点是原地排序,不占用额外空间,时间复杂度是O(nlogn)。
图解冒泡排序
知识不加糖
2020-02-10
阅读 3 分钟
1.6k
这次我们介绍交换类排序中的冒泡排序,和简单插入排序相似,冒泡排序虽然时间复杂度也是O(n^2),但是对于有序数组的排序,时间复杂度也可以降为O(n),效率是比较高的。
图解直接插入排序和希尔排序
知识不加糖
2020-02-10
阅读 3 分钟
3.1k
对于直接插入排序,虽然它的时间复杂度也是O(n^2),但是在元素有序或近乎有序的情况下,时间复杂度可以降为O(n),效率比O(nlogn)的算法还要高。
图解堆结构、堆排序及堆的应用
知识不加糖
2020-02-10
阅读 8 分钟
5.7k
上一次我们介绍了选择类排序中的简单选择排序,简单归简单,但是时间复杂度是O(n^2),这次我们介绍另一种时间复杂度为O(nlogn)的选择类排序方法叫做堆排序。
图解简单选择排序
知识不加糖
2020-02-10
阅读 2 分钟
4.4k
简单选择排序 有如下数组,我们需要对它从小到大排序,步骤如下: 在数组中找到最小值,然后与第一个位置交换。 除去第一个位置在数组中继续找最小值,与第二个位置交换,以此类推,直到末尾。 下图展示了整个交换的过程: 选择排序代码: {代码...} 优化 我们通过类似对撞指针的思路,维护两个指针,这两个指针分别指向...