排序
文章平均质量分 71
dahai_881222
这个作者很懒,什么都没留下…
展开
-
堆排序
堆排序 是利用堆的性质进行的一种选择排序,她是不稳定的一种排序方法。堆排序将元素看做为一颗完全的二叉树。例如对于数组 a[]={51,38 ,49 , 27,62,5,16,38}; 51 / \ 38 49 /原创 2012-08-18 16:25:33 · 334 阅读 · 0 评论 -
排序的时间复杂度为O(n),空间复杂度为O(1)
利用整数的范围一般是0~65535.我们就声明一个65535大小的数组exist[65535]然后,让待排序的数组a[]={1,2,3,4,5,1,6,3};让数组a[]的每个值作为数组exist[]的下标,例如exist[a[0]] = exist[1] ++。由于出现了两个1,所以exist[1] = 2;以此类推得到了exist[2] =1,exist[3] =2 ,exist[4]原创 2012-09-02 15:40:23 · 1876 阅读 · 0 评论 -
排序算法: 冒泡排序, 快速排序,希尔排序,直接插入排序 ,直接选择排序,归并排序,堆排序
几种排序算法分析: 冒泡排序: 冒泡排序的方法排序速度比较慢。 思路:进行n-1排序,第一次排序先找出最小的数字,放在第一个位置,然后在剩余的数字中再找出最小的数字,放在第二个位置上,依次类推,可以排出所有的数字。 当然也可以从大到小的排序。 例如 a[]={5 ,4 ,3, 2, 1}; void maopao(int a[] ,int原创 2012-08-03 14:36:50 · 7295 阅读 · 1 评论