排序算法
wp1027322856
这个作者很懒,什么都没留下…
展开
-
常用的排序算法的时间复杂度和空间复杂度
原文链接:点击打开链接 常用的排序算法的时间复杂度和空间复杂度 排序法 最差时间分析 平均时间复杂度 稳定度 空间复杂度 冒泡排序 O(n2) O(n2) 稳定 O(1) 快速排序 O(n2) O(n*log2n) 不稳定 O(log2n)~O(n) 选择排序 O(n2) O(n2) 稳定 O(1)转载 2017-09-26 13:24:19 · 274 阅读 · 0 评论 -
归并排序,堆排序,基数排序,希尔排序,快速排序,交换排序,选择排序和插入排序的总结和比较
1 归并排序(MergeSort) 归并排序最差运行时间是O(nlogn),它是利用递归设计程序的典型例子。 归并排序的最基础的操作就是合并两个已经排好序的序列。 假设我们有一个没有排好序的序列,那么首先我们使用分割的办法将这个序列分割成一个一个已经排好序的子序列。然后再利用归并的方法将一个个的子序列合并成排序好的序列。分割和归并的过程可以看下面的图例。 从上图转载 2017-09-26 09:09:19 · 1595 阅读 · 0 评论 -
插入,归并,快速,冒泡,shell,选择排序 用c实现
插入: #include int main() { int a[10] = {1,5,2,3,8,9,7,0,4,4}; int i,j,k; for( i=1;i { k = a[i]; for(j=i-1;a[j] > k && j > -1; j--) { a[j+原创 2017-10-20 23:30:09 · 203 阅读 · 0 评论