堆排序(heapsort)是一种原地(in place)排序算法, 它的时间复杂度是O(nlgn). 堆数据结构不只是在堆排序中有用,它还可以构成一个有效的优先队列。堆数据结构是一种数组对象,它可以被视为一颗完全二叉树。如图: Aheap-size是放在A中堆的元素个数。根据数组节点的索引,我们.....
                            
                            
                                分类:
其他好文   时间:
2014-06-15 21:27:58   
                                阅读次数:
239
                             
                    
                        
                            
                            
                                堆排序在运行时间上与合并排序相似,同时又是一种原地(in place)排序算法(在任何时候,数组中只有常数个元素存储在输入数组以外),结合了插入排序和合并排序两种排序算法的优点。...
                            
                            
                                分类:
其他好文   时间:
2014-06-04 22:39:55   
                                阅读次数:
316
                             
                    
                        
                            
                            
                                源码://HeapSort.cpp#include using namespace 
std;//about heap://the last leaf node is a[n-1]//the last non-leaf node is 
a[n/2-1];// a[i]// ...
                            
                            
                                分类:
其他好文   时间:
2014-05-27 02:21:23   
                                阅读次数:
240
                             
                    
                        
                            
                            
                                package com.bupt.acm;import 
java.util.Scanner;public class HeapSort { private int getLeft(int i){ return 
2*(i+1)-1; } private int ...
                            
                            
                                分类:
其他好文   时间:
2014-05-21 22:01:39   
                                阅读次数:
246
                             
                    
                        
                            
                            
                                package algorithm.sort;public class HeapSort { 
public static void main(String[] args) { int[] a = new int[] {5, 3, 7, 2, 1, 4, 
9, 8, 6, 1}; sort(a); p...
                            
                            
                                分类:
其他好文   时间:
2014-05-01 03:24:04   
                                阅读次数:
332
                             
                    
                        
                            
                            
                                堆排序(Heapsort)是指利用堆这种数据结构所设计的一种排序算法。堆积是一个近似完全二叉树的结构,并同时满足堆积的性质:即子结点的键值或索引总是小于(或者大于)它的父节点。通常堆是通过一维数组来实现的。在起始数组为 
0 的情形中:父节点i的左子节点在位置 (2*i+1);父节点i的右子节点在位置...
                            
                            
                                分类:
其他好文   时间:
2014-04-30 17:13:32   
                                阅读次数:
464