数据结构中的排序
2015-12-01 18:30
225 查看
在论坛上看到的:(帮助理解就好
简单排序一般是稳定排序,简单选择排序除外
复杂排序一般不稳定,归并排序除外
这个东西很好记得:关于内部排序的算法的时间复杂度,空间复杂度,稳定性的记忆方法,原创哈:(王道论坛上看到)
(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)稳定性:一句话解决,快希选一堆玩具来玩,看看里面包括哪些排序就是不稳定的,
其中包括快速排序、希尔排序、简单选择排序、堆排序!
稳不稳定理解这样一句话:
全部都是相邻的元素之间的比较就是稳定的,否则不是,
简单选择排序显然涉及非相邻元素比较,交换
简单排序一般是稳定排序,简单选择排序除外
复杂排序一般不稳定,归并排序除外
这个东西很好记得:关于内部排序的算法的时间复杂度,空间复杂度,稳定性的记忆方法,原创哈:(王道论坛上看到)
(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)稳定性:一句话解决,快希选一堆玩具来玩,看看里面包括哪些排序就是不稳定的,
其中包括快速排序、希尔排序、简单选择排序、堆排序!
稳不稳定理解这样一句话:
全部都是相邻的元素之间的比较就是稳定的,否则不是,
简单选择排序显然涉及非相邻元素比较,交换
相关文章推荐
- bzoj 2120 数颜色 树状数组套平衡树
- 最近邻算法和向量模型——第二部分——算法和数据结构
- 【数据结构】求最小生成树的权值之和——Prim算法
- 数据结构与算法-----单向线性链表(逆转和反向打印)
- 数据结构与算法-----堆栈-使用链表(链式结构)实现
- 网络设备驱动程序数据结构
- Linux USB驱动数据结构
- [数据结构]合并有序数组
- 数据结构实践—— 英文单词的基数排序
- 数据结构---线段树
- 数据结构实践——归并排序算法的改进
- 数据结构C++语言描述专题系列 (二) 栈
- 数据结构C++语言描述专题系列 (一) 绪论
- 【高级数据结构】[SPOJ QTREE]树链剖分/动态树各一模板
- 7.数据结构之哈希表
- 数据结构实践——大数据集上排序算法性能的体验
- [数据结构]折半搜索、归并排序( 分治思想)
- EKAlgorithms-常用数据结构Objective-C语言实现一数组排序
- 《大话数据结构》之二叉树的四种遍历
- 浅谈算法和数据结构: 九 平衡查找树之红黑树