在论坛上看到的:(帮助理解就好
- 简单排序一般是稳定排序,简单选择排序除外
- 复杂排序一般不稳定,归并排序除外
这个东西很好记得:关于内部排序的算法的时间复杂度,空间复杂度,稳定性的记忆方法,原创哈:(王道论坛上看到)
(1)时间复杂度:以n(nlogn)的速度快希归堆,但是太快也不好,最坏达到O(n^2),这样就记住了4个!
冒泡冒的好是O(n),冒得不好就是O(n^2)
直接插入插得好,就是O(n),直接插入插得不好就是O(n^2)
(2)空间复杂度:记住特殊的三个:
快速排序:O(logn);`
归并排序:O(n)
基数排序:O(d+r)
(3)稳定性:一句话解决,快希选一堆玩具来玩,看看里面包括哪些排序就是不稳定的,
其中包括快速排序、希尔排序、简单选择排序、堆排序!
稳不稳定理解这样一句话:
全部都是相邻的元素之间的比较就是稳定的,否则不是,
简单选择排序显然涉及非相邻元素比较,交换