码迷,mamicode.com
首页 >  
搜索关键字:堆排序 完全二叉树    ( 2516个结果
UVa 712 S树
题意:有一棵完全二叉树,每层元素有同一变量表示,从上到下分别为x1,x2,... 最后一层叶子结点会有0或1的赋值,输入给出。然后如果xi取值为0时,则往左子树走,否则往右子树走,直到走到叶子结点,得到一值。 思路:因为是完全二叉树,可以用顺序存储,数组实现即可。另外也只需存叶子结点的值就行了。对一结点k来说,左孩子是2k,右孩子是2k+1。因为高度最大为7,最多有x7,所以可以直接取数组的第二...
分类:其他好文   时间:2014-08-27 22:06:38    阅读次数:261
堆/堆排序
原理参考:http://blog.csdn.net/morewindows/article/details/6709644/**********************************************************/ //堆插入 void MinHeapfixup(int a[],int n,int num){ a[n] = num; int j,temp; te...
分类:其他好文   时间:2014-08-26 13:48:06    阅读次数:187
堆排序
//堆排序//①维护堆 void max_heapify(int *ptr,int index,int len){ index = index + 1; int left = index ptr[index - 1]) largest = left; if(righ...
分类:其他好文   时间:2014-08-26 11:19:16    阅读次数:186
rebalance
rebalance a heap⑴最大堆的插入 由于需要维持完全二叉树的形态,需要先将要插入的结点x放在最底层的最右边,插入后满 足完全二叉树的特点; 然后把x依次向上调整到合适位置满足堆的性质,例如下图中插入80,先将80放在最后,然后两次上浮到合适位置. 时间:O(logn)。 “结点上浮”程序...
分类:其他好文   时间:2014-08-25 14:57:04    阅读次数:198
排序之堆排序
分类:其他好文   时间:2014-08-24 19:21:53    阅读次数:283
数据结构:外排序-多路归并
外排序 外排序问题的出现,主要是因为内存不够。当需要排序的数据量过多,以至于无法一次性把所有的数据都放入内存,这导致了外排序问题的出现。解决大数据量排序的方法是:先分块排序,后进行块合并。 外排序步骤 把原数据分成几段读入内存,以至于每一块都可以完整的在内存中进行排序,排序好后,写入外部存储设备。 归并已排序好的数据块。 这就是归并排序在外排序中的应用。 对每块数据进行排序,可以使用各种内排序方法:快速排序、归并排序、堆排序等。这个比较简单,下面模拟一个对排序好的数据块进行归并的过程。...
分类:其他好文   时间:2014-08-23 19:07:41    阅读次数:201
数据结构中常用排序算法
排序常用的算法有:插入算法(直接插入算法、折半插入算法、希尔算法)、选择算法(简单选择算法、堆排序算法)、快速算法(冒泡排序、快速排序算法)以下程序给出了各种算法的实现,其接口为voidsort(int*array,intlen),每个文件实现一个算法,最后和main.c文件编译实现。1、直..
分类:其他好文   时间:2014-08-22 18:12:10    阅读次数:273
快速排序之单项扫描法
快速排序是排序算法中最受青睐的算法之一,相对于堆排序和归并排序而言,即便具有相同的复杂度O(NlogN)。面对大数据而言,快排的效率也更高。一般而言,数据结构中的排序算法都是采取的双向指针法。在之前写的一篇博文《排序算法(初级版)之快排、归并、堆排序》中已经有过总结。这里就不再啰嗦了。本篇博文主要讲...
分类:其他好文   时间:2014-08-22 17:48:39    阅读次数:388
java实现堆排序
java实现堆排序...
分类:编程语言   时间:2014-08-21 21:13:24    阅读次数:187
夯实基础——堆排序
堆排序分析: 最优时间复杂度:O(nlog2n) 最坏时间复杂度:O(nlog2n) 平均时间复杂度:O(nlog2n) 空间复杂度:O(1) 稳定性:不稳定 C语言代码...
分类:其他好文   时间:2014-08-21 19:23:44    阅读次数:182
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!