码迷,mamicode.com
首页 >  
搜索关键字:堆排    ( 1969个结果
几种排序的性能测试
几种排序的性能测试      闲的无聊,预习数据结构的时候看到了几种排序的性能分析,就自己做了一下。     测试结果如下:单位(ms)  RE:用时过长或爆栈   可见,快排在完全随机的数据下性能是最优的,在已经排序或者已经基本排序的前提下,即使是加了随机化的快排也会很慢,堆排在已经排序的情况下比随机情况下快了一倍多,归排也是,而且速度比堆排快很多...
分类:编程语言   时间:2014-12-28 15:36:14    阅读次数:157
Java 小根堆排序
Counter类:计数器IntPk中包含主键publicclassCounterextendsIntPK{ privateintcount; publicintgetCount(){ returncount; } publicvoidsetCount(intcount){ this.count=count; } }MinHeap类:最小堆排序类packagecom.ryx.incantation.model; importcom.ryx.incantation.en..
分类:编程语言   时间:2014-12-28 02:01:43    阅读次数:232
堆排序
以下为代码实现function heapsort( array ){ bulidHeap( array ); for( var i = array.length-1; i >= 0; --i ){ swap( array, 0, i ); adjust( ar...
分类:编程语言   时间:2014-12-27 21:41:55    阅读次数:230
排序算法FOUR:堆排序HeapSort
排序算法FOUR:堆排序HeapSort
分类:编程语言   时间:2014-12-24 21:22:03    阅读次数:235
数据结构与算法之排序(归纳总结三)
选择排序的基本思想是:每一趟从n-i+1 (i=1,2,…,n)个元素中选取一个关键字最小的元素作为有序序列中第i个元素。本节在介绍简单选择排序的基础上,给出了对其进行改进的算法堆排序。1.简单选择排序 a:算法描述 简单选择排序的基本思想非常简单,即:第一趟,从n个元素中找出关键字最小...
分类:编程语言   时间:2014-12-23 21:04:58    阅读次数:205
堆排序
堆排序是对简单选择排序算法的一种改进,在每次选择最小记录的同时,根据比较结果对其他记录做出相应的调整。堆是具有下列性质的完全二叉树:每个节点的值都大于(小于)或者等于其左右孩子节点的值,为大顶堆(小于)。堆排序的基本思想是:从最后一个含有叶子节点的节点开始将待排序列构造成一个堆,然后将堆顶元素与末尾...
分类:编程语言   时间:2014-12-23 10:10:55    阅读次数:182
堆排序(小根堆)
小根堆排序。...
分类:编程语言   时间:2014-12-22 18:04:59    阅读次数:272
快速排序
如果说希尔排序是简单插入排序的升级,堆排序是简单选择排序的升级,那么快速排序就是冒泡排序的升级了。相对于冒泡排序,快速排序增大了记录比较和移动的距离,将关键字较大的记录移动到后面,较小的移动到前面,从而减少总的比较和移动次数。快速排序的基本思想:通过每一趟排序都将待排序的记录按照选定的关键字分成两部...
分类:编程语言   时间:2014-12-22 10:51:47    阅读次数:173
算法基础之五(堆排序)
一、数组转换成堆 那么首先要解决的问题就是给数组排序,如何转换成二叉树的?转换方法如图:数组 int a[],包含元素a[0],a[1],a[2],a[3].....等等。转换成二叉树: 图还是比较形象的,其实就是依次从堆顶向下排,但是有一个原则,就是上一层没有排满的时候,下一层不会有元素...
分类:编程语言   时间:2014-12-16 18:38:04    阅读次数:243
经典排序算法 - 堆排序Heap sort
经典排序算法 - 堆排序Heap sort 堆排序有点小复杂,分成三块 第一块,什么是堆,什么是最大堆 第二块,怎么将堆调整为最大堆,这部分是重点 第三块,堆排序介绍 第一块,什么是堆,什么是最大堆 什么是堆 这里的堆(二叉堆),指得不是堆栈的那个堆,而是一种数据结构。 堆可以视为一棵完全的二叉树,完全二叉树的一个“优秀”的性质是,除了最底层之外,每一层都是满的,这使得堆可...
分类:编程语言   时间:2014-12-16 13:35:14    阅读次数:219
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!