`

常见排序算法及时间、空间复杂度

阅读更多
1.常见排序算法的时间、空间复杂度
参考文献:
http://wenku.baidu.com/link?url=UV8radodoNHJRxpJ062pArRCLgLGK7dtDS1nZgHcxdJSza0Tu5yfa9MyF7gZbYvzT0DhuT0AQyzeLp0OjP_R1FzHGfIO5VhzbjVHk_rYeay

2.常见排序算法
参考文献:
http://www.cnblogs.com/liuling/p/2013-7-24-01.html

总结:

算法名称 算法思想 时间复杂度(最好) 时间复杂度(最坏) 时间复杂度(平均) 空间复杂度 稳定性
直接插入排序 每步将一个待排序的记录,按其顺序码大小插入到前面已经排序的字序列的合适位置(从后向前找到合适位置后),直到全部插入排序完为止文件初态为正序 O(n)文件初态为反序 O(n2)O(n2)O(1)稳定
二分法插入排序 二分法插入排序的思想和直接插入一样,只是找合适的插入位置的方式不同,这里是按二分法找到合适的位置,可以减少比较的次数 O(n) O(n2)O(n2)O(1)稳定

分享到:
评论

相关推荐

    常用排序算法复杂度

    常用排序算法时间复杂度、空间复杂度总结。包括:冒泡排序、快速排序、选择排序、堆排序、插入排序、Shell排序、归并排序、基数排序。

    c++各种排序算法对比研究

    对各种常用的排序技术和算法进行比较,包括算法原理、适用场合、时间和空间复杂度、常见应用等。源代码+报告。

    Java弱引用实现源码-DataStructure::kiss_mark::kiss_mark:数据结构、算法总结、学习算法的时间复杂度、空间复杂度、分析算法特点以及应用、Java面

    下面的算法都打包在一个应用当中,你只需要下载安装即可,里面有算法的介绍,时间复杂度,空间复杂度,代码示例 二叉树的遍历 二叉排序树 红黑树 AVL树 图的邻接表存储构成图 有向图的创建 拓扑排序-邻接矩阵存储-...

    16种排序算法比较与分析

    常见或不常见排序算法的比较! C语言实现. 40M内存10*1024*1024个整数 BoxSort 0.57s CountingSort 0.89s QuickSort 2.52s CombSort 5.03s ShellInsertSort 5.81s MergeSort 6.20s HeapSort 7.66s ...

    总结各类排序方法

    总结各类排序方法。排序问题一直是计算机技术研究的重要问题,排序算法的好坏直接影响程序的执行速度和辅助...此代码将详细分析常见的各种排序算法,并从时间复杂度、空间复杂度、适用情况等多个方面对它们进行综合比较

    python八大排序算法速度实例对比

    这篇文章并不是介绍排序算法原理的,纯粹是...空间复杂度:O(1) 稳定性:稳定 def insert_sort(array): for i in range(len(array)): for j in range(i): if array[i] < array[j]: array.insert(j, array.pop(i

    数据结构与常见算法,从递归开始,排序,至链表,队列,栈,树,图等。.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    常见数据结构及算法(Java语言描述).zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    数据结构、算法及常见面试题:java实现.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    常见数据结构和算法.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    常见算法和数据结构多语言实现.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    面试时的Java数据结构与算法.doc

    还有 要会分析算法的时间和空间复杂度。通常查找和排序算法的考察是面试的开始,如果这 些问题回答不好,估计面试官都没有继续面试下去的兴趣都没了。所以想开个好头就要 把常见的排序算法思想及其特点要熟练掌握,...

    python 常见的排序算法实现汇总

    要求能够手写时间复杂度位O(nlogn)的排序算法:快速排序、归并排序、堆排序 1.冒泡排序 思想:相邻的两个数字进行比较,大的向下沉,最后一个元素是最大的。列表右边先有序。 时间复杂度$O(n^2)$,原地排序,稳定的...

    常见数据结构和算法的多语言实现。.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    常见的数据结构与算法,Java语言实现.zip

    算法分类:排序算法(如冒泡排序、快速排序、归并排序),查找算法(如顺序查找、二分查找、哈希查找),图论算法(如Dijkstra最短路径算法、Floyd-Warshall算法、Prim最小生成树算法),动态规划,贪心算法,回溯法...

    C语言实现部分数据结构和算法,包括链表,栈,队列,哈希表,树,排序算法,图算法等等.zip

    算法的设计和选择会直接影响到程序的效率,因此,在设计和选择算法时,需要考虑到时间复杂度、空间复杂度等因素。 在实际应用中,数据结构和算法常常是密不可分的。通过对数据结构的理解和运用,以及对算法的学习和...

    中科大算法导论实验源码和报告

    1.(必做题) 常见排序算法的实现与性能比较 问题描述:实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法 实验要求: A. 在随机产生的空间大小分别为 N = 10, 1000,10000,100000 的排序...

    论文研究-基于初集排序的Pareto非支配解集构造算法.pdf

    分析提出的算法及常见的非支配排序方法的时间复杂度.通过ZDT1~ZDT3、DTLZ1与DTLZ3测试函数的非支配解集构造实验,与王芳等(2016)提出的NTCM等方法相比,证明提出的非支配解集构造算法是有效的,时间复杂度更低,非...

    12-快速排序.md

    - 算法的时间复杂度和空间复杂度 - 三大算法思维:贪心,二分,动态规划 - 常见数据结构 ## 注意事项 - 算法,有难度,轻耐心学习 - 不仅关注题目本身,更要关注知识点和解题思路 - 按顺序学习(本章课程按顺序...

    4一面 4:前端从容应对算法题目(1).md

    数据结构决定了数据存储的空间和时间效率问题,数据的写入和提取速度要求也决定了应该选择怎样的数据结构。 根据对场景需求的不同,我们设计不同的数据结构,比如: * 读得多的数据结构,应该想办法提高数据的读取...

Global site tag (gtag.js) - Google Analytics