最新文章列表

Heap Sort 实现(MIT Algorithm Course)

根据算法导论实现。有个小缺陷,heapsort中result是逆序排序。 def parent(i): return i%2; def left(i): return 2*i+1; def right(i): return 2*(i+1); def maxHeapify(numList,i): l = left(i); r = right(i); ...
penergy 评论(0) 有1031人浏览 2016-06-05 09:02

HeapSort

public class HeapSort { public static void main(String[] args) { Integer[] datas = {5,1,56,4,9,7,23,108,34,24,12}; sort(datas); } public static void sort(Integer[] datas) { ...
zhangbaoming815 评论(0) 有884人浏览 2012-06-28 16:11

对HeapSort原理的分析和堆排序算法的简单实现

堆排序(HeapSort)是一种应用于海量数据处理的一种常用算法,它的时间复杂度为O(nlogn),其平均时间复杂度接近与其最坏的复杂度,所以堆排序对处理大 ...
南侠1999 评论(0) 有2977人浏览 2012-04-15 11:15

关于快速排序,归并排序,堆排序

1 快速排序(QuickSort) 快速排序是一个就地排序,分而治之,大规模递归的算法。从本质上来说,它是归并排序的就地版本。快速排序可以由下面四步 ...
vincent_com 评论(1) 有3143人浏览 2011-11-17 13:26

堆排序(HeapSort) Java实现

堆排序的思想是利用数据结构--堆。具体的实现细节: 1. 构建一个最大堆。对于给定的包含有n个元素的数组A[n],构建一个最大堆(最大堆的特性是,某个节点的值最多和其父节点的值一样大。这样,堆中的最大元素存放在根节点中;并且,在以某一个节点为根的子树中,各节点的值都不大于该子树根节点的值)。从最底下的子树开始,调整这个堆结构,使其满足最大堆的特性。当为了满足最大堆特性时,堆结构发生变化,此时递归调 ...
hongjn 评论(2) 有11330人浏览 2011-09-27 23:41

堆排序

建立堆的时间复杂度为O(n),随后的排序为O(nlgn);常用于取前K大/小的应用。 public void heapSort(int[] arr) { if (arr == null || arr.length == 0) { return; } for (int i = arr.length / 2; i >= 0; i--) { buildHe ...
hyj1254 评论(0) 有1229人浏览 2011-09-07 23:20

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics