概述排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较...
分类:
编程语言 时间:
2014-11-11 22:37:12
阅读次数:
372
归并两个有序序列为一个有序序列Merge Two Sorted ListsMerge two sorted linked lists and return it as a new list. The new list should be made by splicing together the n...
分类:
其他好文 时间:
2014-11-09 16:34:47
阅读次数:
182
原文:总结5种比较高效常用的排序算法1概述
本文对比较常用且比较高效的排序算法进行了总结和解析,并贴出了比较精简的实现代码,包括选择排序、插入排序、归并排序、希尔排序、快速排序等。算法性能比较如下图所示: 2选择排序 选择排序的第一趟处理是从数据序列所有n个数据中选择一个最小的数据作为有序序列中的第...
分类:
编程语言 时间:
2014-11-09 12:37:13
阅读次数:
199
http://www.cnblogs.com/luxiaoxun/archive/2012/09/12/2681268.html一、归并1、内排序由于要求的可用内存为1MB,那么每次可以在内存中对250K的数据进行排序,然后将有序的数写入硬盘。那么10M的数据需要循环40次,最终产生40个有序的文件...
分类:
编程语言 时间:
2014-11-08 16:35:56
阅读次数:
160
归并排序1.将两个有序序列归并成一个有序序列2.将带排序数组,通过递归调整成左右两个有序序列,在调用归并算法,将其归并成一个有序序列,完成排序Merg.java 1 package com.gxf.merg; 2 3 /** 4 * 归并排序 5 * 初始状态,将数组看成n个单独有序的序列,两...
分类:
编程语言 时间:
2014-11-08 00:45:09
阅读次数:
292
1. 介绍 排序算法是将一串数据按照某种特定排序方式(规则)进行排序的算法。分为内部排序和外部排序。 内部排序:指排序数据存储在内存中,依照依照某种排序方式(规则)进行排序。内部排序不适合太大的数据。内部排序的八中排序算法:冒泡排序、选择排序、插入排序、希尔排序、堆排序、归并排序、快速排序、基数.....
分类:
编程语言 时间:
2014-11-07 16:46:05
阅读次数:
233
排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。我们这里说说八大排序就是内部排序。当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。 快速排序:是目前基于比较的内...
分类:
编程语言 时间:
2014-11-07 16:41:08
阅读次数:
204
还有好多其他排序而且每种排序都有优化,之后会不断添加.
/**
* 文件名:SortTest.java
* 时间:2014年11月5日下午6:05:13
* 作者:修维康
*/
package chapter7;
import java.util.Arrays;
/**
* 类名:SortTest 说明:各类排序分析详解
*/
public class SortTest {
...
分类:
编程语言 时间:
2014-11-06 23:40:39
阅读次数:
500
归并算法是将两个或两个以上的有序表组合成一个新的有序表,它的原理是:假设初始序列含有n个记录,则可以看成是n个有序子序列,两两归并,得到[n/2]个有序子序列,再次归并……不断重复直至归并到长度为n的有序序列,这样的排序方法称为2路归并排序。
实例一:递归形式的2路归并算法
#define MAXSIZE 4
int data[MAXSIZE] = {2,1,0,3};
/*...
分类:
编程语言 时间:
2014-11-06 22:05:09
阅读次数:
280
归并排序重点在治,即合并两个有序数组: 1 void merge(int A[], int p, int q, int r) 2 { 3 int i = 0, j = 0, k = p; 4 int m = q - p + 1; 5 int n = r - q; 6 ...
分类:
编程语言 时间:
2014-11-06 19:38:23
阅读次数:
198