LOADING

加载过慢请开启缓存,浏览器默认开启

interview shit- algorithm

2023/3/19 algorithm interview

排序

从简单的排序开始吧

种类 平均复杂度 最坏复杂度 空间复杂度 稳定性
冒泡排序 O(n^2) O(n^2) O(1) 稳定
插入排序 O(n^2) O(n^2) O(1) 不稳定
快速排序 O(nlogn) O(n^2) O(logn) 不稳定
归并排序 O(nlogn) O(nlogn) O(n) 稳定
堆排序 O(nlogn) O(nlogn) O(1) 不稳定
计数排序 O(n+m) O(n+m) O(n+m) 稳定
桶排序 O(n) O(n) O(n) 稳定
基数排序 O(k*n) O(n^2) 稳定

快排

每次选一个pivot,把小于这个数的数放在数组左边,大于的数放在数组右边,然后分治来做

归并

对每一段从上到下递归,然后对每段的左右两部分进行大小判定,并存入额外数组,最后向上并,每段进行合并

计数

就是个哈希,没啥好说的

希尔排序

根据间隔进行分段,每段进行插入排序

桶排序

计数排序升级版
创建多个桶,使用某种映射函数把原数组元素和对应的桶对应,桶内进行排序,然后再合并

基数排序

对每一位进行排序,用于整数排序