各种排序算法时间复杂度和空间复杂度表
来源:互联网 发布:阿里云 iaas paas 编辑:程序博客网 时间:2024/05/20 11:37
各种排序算法时间复杂度和空间复杂度表:
比较时间复杂度函数的情况如下图:
对n较大的排序记录。一般的选择都是时间复杂度为O(nlog2n)的排序方法:
接下来博主抽时间要整理一下各经典算法思想和心得,敬请期待
一、快速排序(Quicksort)
import java.util.Arrays;public class MySort { public static void main(String args[]){ int[] array = {5,3,9,1,6,4,10,2,8,7}; System.out.println("Before: " + Arrays.toString(array)); new MySort().quickSort(array, 0, array.length-1); System.out.println("After: " + Arrays.toString(array)); } /** * 快速排序: 递归实现的挖坑填数法 * @param array * @param left * @param right */ private void quickSort(int[] array, int left, int right){ if(left >= right){ return; } int i = left; int j = right; int key = array[left]; while(i<j){ while(array[j] >= key && i<j){ //从后向前搜索,比key小的值就挖出来填到i处的坑 j--; } array[i] = array[j]; while(array[i] <= key && i<j){ //从前向后搜索,找出比key大的值填到刚才j处空缺的坑 i++; } array[j] = array[i]; } array[i] = key; //把key回填到数组的空缺处 System.out.println("Sort: " + Arrays.toString(array)); quickSort(array, left, i-1); quickSort(array, i+1, right); }}
快速排序的测试代码输出结果如下:Before: [5, 3, 9, 1, 6, 4, 10, 2, 8, 7]Sort: [2, 3, 4, 1, 5, 6, 10, 9, 8, 7]Sort: [1, 2, 4, 3, 5, 6, 10, 9, 8, 7]Sort: [1, 2, 3, 4, 5, 6, 10, 9, 8, 7]Sort: [1, 2, 3, 4, 5, 6, 10, 9, 8, 7]Sort: [1, 2, 3, 4, 5, 6, 7, 9, 8, 10]Sort: [1, 2, 3, 4, 5, 6, 7, 9, 8, 10]Sort: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]After: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
【参考资料】:
- 白话经典算法系列之六 快速排序 快速搞定
0 0
- 【排序】各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法时间复杂度和空间复杂度表
- 各种排序算法的时间复杂度和 空间复杂度
- 各种排序算法时间复杂度和空间复杂度分析
- 各种常用排序算法的时间复杂度和空间复杂度
- 各种常用排序算法的时间复杂度和空间复杂度
- 各类排序算法时间复杂度和空间复杂度对比表
- 常见排序算法时间复杂度和空间复杂度表
- iOS开发 仿相册的一个小Demo 相关UICollectionView,UIScrollView,AFNetworking
- S2SH+ajax+json-------(一)
- 文章标题
- svn的hooks使用
- php 网上支付之易宝支付
- 各种排序算法时间复杂度和空间复杂度表
- 上传头像出现内存溢出
- Andorid Unable to execute dex: Multiple dex files define Lorg/apache/commons/collections/Buffer
- 64位Sql Server 2005开发版于64位Windows7旗舰版 安装过程
- ffmpeg:视频解码以及解码后数据的编码
- 从源码注释看 Activity 的生命周期方法
- ETL利器Kettle实战应用
- 关于 Javascript 的闭包
- Gson解析泛型