1 public static void radixsort(int[] a){ 2 int max=a[0]; 3 for(int i=1;i0){ 10 max/=10; 11 time++; 12 } 13 java.util.List queue=new A... ...
分类:
编程语言 时间:
2016-12-29 20:04:56
阅读次数:
273
1 /* 2 请设计筛选函数void sift(int a[],int k,int n),对a[k] 进行筛选, 3 并利用其设计堆排序算法函数void heapSort(int a[],int n), 4 对a[1]..a[n]进行升序排序。并测试在不同数据规模下的排序效率。(详见lab10_05... ...
分类:
编程语言 时间:
2016-12-23 14:20:10
阅读次数:
213
代码: void HeapSort(int a[], int n){ int Tmp; for (int i = n / 2; i >= 0; i--) PercDown(a, i, n); /*build a heap; we should know that intinially we put ...
分类:
编程语言 时间:
2016-12-18 01:26:09
阅读次数:
270
堆排序,时间复杂度O(N log N),实际使用中慢于使用Sedgewick增量的增量排序。 大致思路: 1.先在数组中建堆,如果是增量排序,则需要建一个大堆 2.每循环一次,把最大的数,也就是nums[0],放入堆尾,同时把nums[0]下滤 ...
分类:
其他好文 时间:
2016-12-13 23:11:19
阅读次数:
231
最近在看《算法笔记》,如果单从算法来说,这本书真正做到了短小精悍,首先以排序入题,那么我们今天也来说说排序。排序将一堆杂乱无章的元素按照某种规则有序排列的过程就叫“排序”.排序是一种非常基础的算法,有...
分类:
编程语言 时间:
2016-11-18 18:58:47
阅读次数:
269
import java.util.Scanner ; public class HeapSort{ int[] h ; int n ; public void swap(int[] array, int x, int y){ //简单的交换函数; int t = array[x] ; array[x ...
分类:
其他好文 时间:
2016-10-01 15:00:52
阅读次数:
141
一:堆排序 堆排序(Heapsort)是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。可以利用数组的特点快速定位指定索引的元素。堆分为大根堆和小根堆,是完全二叉树。大根堆的要求是每个节点的值都不大于其父节点的值,即A[PARENT[i]] >= A[i]。在数组的非降序排序... ...
分类:
其他好文 时间:
2016-09-12 23:59:49
阅读次数:
366
堆排序是对选择排序的改进(时间复杂度和希尔排序一样O(nlog2n)) 数据结构:完全二叉树(大顶堆,根节点都比左右节点大,小顶堆,根节点小于双亲节点) public class HeapSort { public static void main(String[] args) { int a[]= ...
分类:
编程语言 时间:
2016-08-06 17:34:45
阅读次数:
135
Prime + Heap 简直神了 时间优化好多,顺便就把Heapsort给撸了一发 具体看图 Heapsort利用完全二叉树+大(小)顶锥的结构每次将锥定元素和锥最末尾的元素交换 同时大(小)顶锥元素数 -1,迭代n-1次级OK了 我这里的是按从小到大拍的 ...
分类:
编程语言 时间:
2016-08-06 14:24:26
阅读次数:
218