希尔排序实际上是插入排序的一种,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。时间复杂度无法准确的估计,希尔排序的基本逻辑记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。-(...
分类:
编程语言 时间:
2015-06-18 08:14:35
阅读次数:
104
归并排序是利用递归和分而治之的技术将数据序列划分成为越来越小的半子表,再对半子表排序,最后再用递归步骤将排好序的半子表合并成为越来越大的有序序列,归并排序包括两个步骤,分别为: 1)划分子表 2)合并半子表时间复杂度是Θ(nlgn),优于插入排序算法。 算法描述 1) 申请空间,使其大小为两个...
分类:
编程语言 时间:
2015-06-16 16:20:20
阅读次数:
153
//常用的排序算法#include using namespace std;typedef int ElemType;/*1、插入排序(1)直接插入排序算法算法思想:将等排序列划分为有序与无序两部分,然后再依次将无序部分插入到已经有序的部分,最后就可以形成有序序列。操作步骤如下:1)查找出元素L(i...
分类:
移动开发 时间:
2015-06-15 16:07:50
阅读次数:
110
算法:定义良好的计算过程,取一个或一组值作为输入,并产生出一个或一组值作为输出。即算法就是一系列的计算步骤,用来将输入数据转换成输出结果。 插入排序算法:对n个数据项进行排序的时间大约等于c1n^2,其中c1是一个不依赖于n的常量。即该算法所需的时间大致正比于n^2。 合并排序算法:排序n个...
分类:
其他好文 时间:
2015-06-10 11:57:53
阅读次数:
102
1.插入排序=====================================================算法思想简单描述:在要排序的一组数中,假设前面(n-1)[n>=2]个数已经是排好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。如此反复循环,直到全部排好顺序。直接插入排序是稳定..
分类:
编程语言 时间:
2015-06-03 13:54:25
阅读次数:
245
希尔排序又称“缩小增量排序”。它的基本思想如下:先将整个待排记录序列分成若干个子序列分别进行直接插入排序,等到整个序列中的记录“基本有序”了,再对全体记录进行一次直接插入排序。算法实现:我们这里简单处理增量序列:增量序列d={n/2,n/4,n/8....1}n为要排序数的个数。即:先将要排序的一组...
分类:
编程语言 时间:
2015-06-02 11:08:01
阅读次数:
214
1 package com.array; 2 3 public class Sort_Insert { 4 /* 5 * 项目名称:插入排序 ; 6 * 项目要求:用JAVA对数组进行排序,并运用插入排序算法; 7 * 作者:Sevck; 8 ...
分类:
编程语言 时间:
2015-05-12 22:35:36
阅读次数:
127
折半插入排序(binary insertion sort)是对插入排序算法的一种改进,所谓排序算法过程,就是不断的依次将元素插入前面已排好序的序列中。折半插入排序(binary insertion sort)是对插入排序算法的一种改进,由于排序算法过程中,就是不断的依次将元素插入前面已排好序的序列中...
分类:
编程语言 时间:
2015-05-07 18:35:12
阅读次数:
152
1,对元素进行排列时,元素之间需要进行比较,因此需要实现Comparable接口。即,>. 更进一步,如果允许待比较的类型可以和它的父类型进行比较,则需要写成:, 其中 表示 T 的任意超类。2,InsertionSortArray.java 类实现了从小到大顺序以插入排序的方式对数据进行排序。3,...
分类:
编程语言 时间:
2015-05-03 17:14:15
阅读次数:
122