题目:
选择排序法的概念简单,每次从未排序部份选一最小值,插入已排序部份的后端,其时间主要花费于在整个未排序部份寻找最小值,如果能让搜寻最小值的方式加 快,选择排序法的速率也就可以加快
Heap排序法让搜寻的路径由树根至最后一个树叶,而不是整个未排序部份,从而可以加快排序的过程,因而称之为改良的选择排序法。
整个堆排序的过程分建堆、取值、调整为新的堆三个过程。分别如下示:(以最小堆积树为例。关于HeapTree请参阅数据结构与算法)...
                            
                            
                                分类:
其他好文   时间:
2014-08-21 00:14:23   
                                阅读次数:
193
                             
                    
                        
                            
                            
                                经典的排序算法有十种,分别是:选择排序、插入排序、希尔排序、冒泡排序、堆排序、合并排序、快速排序、计数排序、基数排序和桶排序。
下面对这些算法分类如下:
选择排序:简单选择排序、堆排序
插入排序:直接插入排序、二分插入排序、希尔排序
快速排序:快速排序、随机化快速排序
线性时间排序:计数排序、基数排序、桶排序
其他:冒泡排序、合并排序
这些排序排序算法的时间复杂度,稳...
                            
                            
                                分类:
其他好文   时间:
2014-08-20 16:31:32   
                                阅读次数:
185
                             
                    
                        
                            
                            
                                堆的概念。  n个关键字序列Kl,K2,…,Kn称为堆,当且仅当该序列满足如下性质(简称为堆性质):         (1) ki≤K2i且ki≤K2i+1 或(2)Ki≥K2i且ki≥K2i+1(1≤i≤ )  满足(1)的称为小根堆,满足(2)的称为大根堆。        若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点...
                            
                            
                                分类:
其他好文   时间:
2014-08-20 16:22:02   
                                阅读次数:
229
                             
                    
                        
                            
                            
                                堆这个数据结构应用非常广泛,数字图像处理的算法里也见过。似乎记得以前老师上课说需要用树结构实现堆排序,看了一下算法导论才明白其精髓。堆虽然是一棵树,但显然没必要非得用树结构实现堆排序。堆排序的性质很好,算法时间复杂度为O(nlgn)。1. 堆排序的简要说明。二叉堆可以分为两种形式:最大堆和最小堆。在...
                            
                            
                                分类:
其他好文   时间:
2014-08-19 23:48:35   
                                阅读次数:
325
                             
                    
                        
                            
                            
                                排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 本文将依次介绍上述八大排序算法。算.....
                            
                            
                                分类:
其他好文   时间:
2014-08-19 14:31:04   
                                阅读次数:
280
                             
                    
                        
                            
                            
                                概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比...
                            
                            
                                分类:
其他好文   时间:
2014-08-19 12:45:54   
                                阅读次数:
247
                             
                    
                        
                            
                            
                                排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
本文将依次介绍上述八大排序算法。
算法一:插入排序
 
插入排序示意图
插入排序是一种最简单直观的排序算法,它的工作原理是...
                            
                            
                                分类:
其他好文   时间:
2014-08-18 14:37:12   
                                阅读次数:
255
                             
                    
                        
                            
                            
                                排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插...
                            
                            
                                分类:
其他好文   时间:
2014-08-18 14:20:12   
                                阅读次数:
259
                             
                    
                        
                            
                            
                                sort
Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 27781    Accepted Submission(s): 8404
Problem Description
给你n个整数,请按从大到小的顺序输出其中...
                            
                            
                                分类:
其他好文   时间:
2014-08-17 18:35:42   
                                阅读次数:
227
                             
                    
                        
                            
                            
                                堆数据结构是一种数组对象,它可以被视为一颗完全二叉树...
                            
                            
                                分类:
其他好文   时间:
2014-08-17 17:08:52   
                                阅读次数:
194