最新文章列表

堆排序

package cn.arith.zuiyou; public class HeapSort {  /**堆排序是稳定log(N)复杂度的算法。 堆排序需要维护的堆的性质要满足:1.是一棵二叉树,而且是完全二叉树(除了最后一层都是满的,最后一层先把左边填满)2.如果是最大堆,要保证父节点的值大于两个子节点的值。(最小堆同理) 二叉树的数据结构是用数组来表示的,完全二叉树的性质有 父节点坐标 ...
zw7534313 评论(0) 有1158人浏览 2013-04-10 22:58

堆排序

堆排序是利用堆的性质进行的一种选择排序。下面先讨论一下堆。 1. 堆 堆实际上是一棵完全二叉树,其任何一非叶节点满足性质: Key[i]<=key[2i+1]& ...
lizhao6210126.com 评论(0) 有785人浏览 2013-03-12 16:05

堆排序

1>定义:    堆排序是一种选择排序,堆排序将一组序列存放在一位数组上面,一依次记录序列中的点{r1,r2,r3,r4,r5·····rn},可以将此序列看做是一棵完全二叉树,此二叉树重中的各个元素满足一下的条件之一:    ri<=r2i &&  ri <=r2i+1    获取ri>=r2i && ri >= r2i+1,分别成称为 ...
不爱不见 评论(0) 有1623人浏览 2012-09-17 17:16

算法 堆排序

package net.com.heap; import java.util.Arrays; public class HeapSort { /* * fun将给定的一个数组创建成大頂堆 * array代表给定的数组,right代表数组的最大下标值 * */ public void createHeap(int[] array,int right){//创建大頂堆 int m ...
luoqidunwu 评论(0) 有850人浏览 2012-09-11 22:08

java排序算法(菜鸟版)

数据结构相关的内容在这里。       package sort; import java.util.Arrays; public class ArraySorter { /** * int数组的排序工具 复习五种排序方法: 交换排序 ...
zhangshangfeng 评论(0) 有1208人浏览 2012-08-28 22:04

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

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

最大堆 排序

卸载最前面,下面的所有讨论都是基于二叉堆 一:什么是堆: 堆是一个数组结构,可以看着为一颗完全二叉树,把这颗完全二叉树按层从上到下,每层从左至右编序号,每个序号所对应的元素即为数组中该序号的元素;该树出最后一层以外每一层都排满,最后一层从左至右,先左孩子再右孩子排列,如果有父节点没有排满孩子(无孩子或无右孩子),只可能是右边的父节点未排满孩子。 因此该结构有如下结构: 如果节点i,则它的左孩子为2 ...
cshopping829 评论(0) 有841人浏览 2012-04-15 01:04

6.堆

1、堆数据结构是一种数组对象。 2、该数组对象的两个属性: length【A】数组元素的个数 heap-size【A】存放在A中的堆的元素个数 3、父节点与其左右子节点的关系: 父节点:parent(i) return i/2;              左子节点:getLeftChild(i) return 2*i+1;      右子节点:getR ...
剑锋无刃 评论(0) 有910人浏览 2012-04-11 13:13

常用排序算法

1. 插入排序:   #include "main.h" void insertSort(int *data, int length) { int pos, i , temp; for (pos = 1; pos < length; pos++) { temp = data[pos]; for ...
icarusliu 评论(0) 有1344人浏览 2012-03-03 23:16

[堆排序]poj 2823:Sliding Window

  大致题意:     给出一列共n个数,和一个正整数k。对于所有的大于等于1,小于等于n-k的数i,求出在[i,i+k]这个区间中最大的数和最小的数   大致思路:         借鉴 依然 的思路,要了解堆排序的大致运转方式以及堆内元素之间的调整过程。     #include<iostream> #include<cstring> #inclu ...
暴风雪 评论(2) 有1684人浏览 2012-01-23 23:46

排序-堆排序

在堆排序中,把待排序的文件逻辑上看作是一棵顺序二叉树, 堆是一个具有这样性质的顺序二叉树,每个非终端结点(记录)的关键字大于等于它的孩子结 ...
latty 评论(0) 有1039人浏览 2011-12-08 18:47

Java实现可泛型的Heap

可泛型的Heap,方便使用。 Heap接口:   public interface Heap<T> { /** * return the top element of the heap * * @return top element */ Object get(); /** * remove the top element of t ...
forever8tf 评论(0) 有1826人浏览 2011-10-18 12:51

最大堆排序java实现(算法导论第6章)

主程序: package yangkunlin.algorithm.sort; import yangkunlin.algorithm.tool.SortTool; /** * 堆排序 * * 前提:堆的根节点的序号是1,并且满足最大堆属性。 * 堆是存放在数组中的,堆的大小要小于数组的大小。 * 注意下边个方法的参数是以1开始记得。 * * 时间复杂度: ...
yangkunlin 评论(0) 有2132人浏览 2011-10-13 14:17

堆排序(HeapSort) Java实现

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

堆排序

  根据算法导论第二版中文版第六章堆排序内容所写的代码(p73),采用c语言,编译器为vc2008   程序的说明:   /*****************1. 定义数组的长度 ArrayLength = 102. 堆排序的思路: 建堆,使一个二叉树中的数据符合堆的定义,即是根的数值大于左右子结点的值,该功能由buildMaxHeap()函数完成 当堆的根结点的值发生变化时能够重新建立一 ...
hzizh 评论(0) 有630人浏览 2011-09-15 15:30

最近博客热门TAG

Java(141741) C(73643) C++(68602) SQL(64557) C#(59604) XML(59131) HTML(59042) JavaScript(54916) .net(54782) Web(54511) 工作(54116) Linux(50906) Oracle(49861) 应用服务器(43285) Spring(40811) 编程(39452) Windows(39380) JSP(37540) MySQL(37266) 数据结构(36420)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics