排序,是将一组任意排列的数据元素重新排列成一个按键值有序的序列的过程,一般以键值的比较和记录移动为标准操作。它是程序设计的基础,一个优秀的算法离不开切实情景的排序方法。排序有两种:
内部排序(InternalSorting):待排序的记录全部存放在计算机内存中进行排序的过程
外部排序(ExternalSorting):指待排序记录的数量很大,以至于内存不能容纳全...
分类:
编程语言 时间:
2014-10-16 11:17:03
阅读次数:
209
胜者树和败者树都是完全二叉树,是树形选择排序的一种变型。每个叶子结点相当于一个选手,每个中间结点相当于一场比赛,每一层相当于一轮比赛。
不同的是,胜者树的中间结点记录的是胜者的标号;而败者树的中间结点记录的败者的标号。
胜者树与败者树可以在log(n)的时间内找到最值。任何一个叶子结点的值改变后,利用中间结点的信息,还是能够快速地找到最值。在k路归并排序中经常用到。...
分类:
其他好文 时间:
2014-09-25 23:56:08
阅读次数:
279
http://blog.csdn.net/hguisu/article/details/7776068概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则...
分类:
其他好文 时间:
2014-09-24 02:50:15
阅读次数:
280
题目:有四个文件,每个文件中存有100万个int型整数,内存限制1M,该如何最优地得到四个文件的交集数,也就是在四个文件都出现的数的个数?
我的想法:因为内存限制1M,也就是1024*1024个字节,小于一个文件中所有数所占的存储100 0000*4,所以文件中的数没办法一次装到内存。采用外部排序、归并等方法实现。
具体:
1、最开始应该是对每个大文件进行外部排序,也就是n次...
分类:
其他好文 时间:
2014-09-19 22:35:36
阅读次数:
261
K路归并排序(k-way merge sort) 代码(C++)本文地址: http://blog.csdn.net/caroline_wendyK路归并排序作为经典的外部排序算法, 是程序员必须要掌握的.知识概念参考: 主要思想: 在k个已排序的文件中, 选择第一个值, 采用败者树, 更新二叉树结构, 最终选择最优值.代码仅供参考, 如最小值用(-1)代替, 最大值用(100)代替./*
*...
分类:
编程语言 时间:
2014-09-11 15:27:52
阅读次数:
199
如果数据量过大,超过最大的内存容量,那么一次性将所有数据读入内存进行排序是不可行的。例如,一个文件每一行存了一个整数,该文件大小为10GB,而内存大小只有512M,如何对这10GB的数据进行排序呢?外部排序就是为了解决这种问题的。思路: 外部排序的思路是,将超大文件分成若干部分,每一部分是可以读入....
分类:
其他好文 时间:
2014-08-29 00:00:16
阅读次数:
353
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 本文将依次介绍上述八大排序算法。算.....
分类:
其他好文 时间:
2014-08-19 14:31:04
阅读次数:
280
概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。 当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比...
分类:
其他好文 时间:
2014-08-19 12:45:54
阅读次数:
247
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 常见的内部排序算法有:插入排序、希尔排序...
分类:
其他好文 时间:
2014-08-18 16:40:04
阅读次数:
267
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。
本文将依次介绍上述八大排序算法。
算法一:插入排序
插入排序示意图
插入排序是一种最简单直观的排序算法,它的工作原理是...
分类:
其他好文 时间:
2014-08-18 14:37:12
阅读次数:
255