AlgorithmCode
本仓库收集一些算法的答案,目标是整理一套系统的算法参考答案以供其他学习者参考,我也在慢慢的学算法并且在坚持刷题,我会不定期的上传新的题目,希望大家共同努力!
https://github.com/zfman/AlgorithmCode
在线编程网站:
目录
排序算法
算法 | 稳定 | 时间复杂度 | 空间复杂度 | 备注 |
---|---|---|---|---|
选择排序 | no | N2 | 1 | |
冒泡排序 | yes | N2 | 1 | |
插入排序 | yes | N \~ N2 | 1 | 时间复杂度和初始顺序有关 |
希尔排序 | no | N 的若干倍乘于递增序列的长度 | 1 | |
快速排序 | no | NlogN | logN | |
三向切分快速排序 | no | N \~ NlogN | logN | 适用于有大量重复主键 |
归并排序 | yes | NlogN | N | |
堆排序 | no | NlogN | 1 |
快速排序是最快的通用排序算法,它的内循环的指令很少,而且它还能利用缓存,因为它总是顺序地访问数据。它的运行时间近似为 \~cNlogN,这里的 c 比其他线性对数级别的排序算法都要小。使用三向切分快速排序,实际应用中可能出现的某些分布的输入能够达到线性级别,而其它排序算法仍然需要线性对数时间。
LeetCode
1-50
51-100
101-150
151-200