一些常见数据结构与算法的白板实现,数据结构有 Java 1.8、Python 3.6 两种实现。算法题使用 Python 3.6 作答
排序
名称 | 时间复杂度 | 空间复杂度 | 原地排序 | 稳定排序 |
---|---|---|---|---|
选择排序 | O(n^2) | O(1) | √ | √ |
插入排序 | O(n^2) | O(1) | √ | √ |
冒泡排序 | O(n^2) | O(1) | √ | √ |
归并排序 | O(nlogn) | O(n) | × | √ |
快速排序 | O(nlogn) | O(logn) | √ | × |
堆排序 | O(nlogn) | O(1) | √ | × |