排序总结-时间复杂度和空间复杂度
2016-08-31 16:01
288 查看
排序(Sorting)问题是我们再业务开发中遇到的最基本问题,因此成为各大IT公司招聘笔试面试必考内容之一。笔者也借着校园招聘对数据结构这一章节的复习对排序问题进行一个简单的总结,然后基于Java进行实现。
插入排序
直接插入排序
折半插入排序
表插入排序
希尔排序
交换排序
冒泡排序
快速排序
选择排序
直接选择排序
堆排序
归并排序
排序分类
排序插入排序
直接插入排序
折半插入排序
表插入排序
希尔排序
交换排序
冒泡排序
快速排序
选择排序
直接选择排序
堆排序
归并排序
排序时间复杂度和空间复杂度
类别 | 平均时间 | 最坏时间 | 辅助空间 |
---|---|---|---|
直接插入排序 | O(n2) | O(n2) | O(1) |
直接选择 | O(n2) | O(n2) | O(1) |
快速排序 | O(nlog2n) | O(n2) | O(log2n) |
堆排序 | O(log2n) | O(log2n) | O(1) |
归并排序 | O(nlog2n) | O(nlog2n) | O(n) |
相关文章推荐
- 七种排序方法(稳定性、空间复杂度、时间复杂度)分析总结
- ver[SIZE]保存的是[iBegin,iBegin+SIZE-1]区间的值,且无重复,请以O(N)时间复杂度和O(1)空间复杂度进行排序
- 有N个大小不等的自然数(1--N),请将它们由小到大排序。要求程序算法:时间复杂度为O(n),空间复杂度为O(1)。
- 实现一个排序算法,对0~n-1范围内的n个不重复的无序数组进行排序,时间复杂度为O(n),空间复杂度为O(1)。
- 排序1,2......n的无序数组,时间复杂度为o(n),空间复杂度为o(1)
- 算法稳定排序和非稳定排序、内排序和外排序、时间复杂度和空间复杂度
- N个大小不等的自然数排序,时间复杂度为O(n),空间复杂度为O(1)
- LeetCode 148. Sort List--O(nlogn)时间复杂度和常数空间复杂度给链表排序
- 时间复杂度和空间复杂度——总结
- 将数组排序,数组中所有的负整数出现在正整数前面(时间复杂度为 O(n), 空间复杂度为 O(1)).
- 时间复杂度和空间复杂度2 - 数据结构和算法04
- 时间复杂度和空间复杂度
- 给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。 要求:空间复杂度O(1),时间复杂度为O(n)。
- 动态规划算法(微软一面笔试题:股票交易,O(N)时间复杂度O(1)空间复杂度)
- 时间复杂度和空间复杂度详解
- 题目:某公司有几万名员工,请完成一个时间复杂度为O(n)的算法对该公司员工的年龄作排序,可使用O(1)的辅助空间。
- 一个整型数组里除了一个或者两个或者三个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)
- 时间复杂度和空间复杂度
- 时间复杂度和空间复杂度
- 算法复杂度——时间复杂度和空间复杂度