排序和搜索(一)插入排序系列
2013-07-08 15:30
148 查看
插入排序:
每次从无序数据集中取出一个元素,扫描已排序好的数据集并将它插入到有序集合合适的位置上。
优点:插入时,最多只需对有序数据集进行一次遍历,适合增量排序。算法简单。
缺点:处理大型数据集时并不高效。
复杂度:O(n^2) 增量排序时可以O(n)
void insertion_sort(char array[], int frist, int last)
{
int temp;
for(int i = first +1; i<last; i++){
temp = array[i];
int j = i-1;
while( (j >= first) && (array[j] > temp) ){
array[j+1] = array[j];
j--;
}
array[j+1] = temp;
}
}
参考:
WIKI 插入排序
http://en.wikipedia.org/wiki/Insertion_sort
http://en.wikipedia.org/wiki/Insertion_sort
每次从无序数据集中取出一个元素,扫描已排序好的数据集并将它插入到有序集合合适的位置上。
优点:插入时,最多只需对有序数据集进行一次遍历,适合增量排序。算法简单。
缺点:处理大型数据集时并不高效。
复杂度:O(n^2) 增量排序时可以O(n)
void insertion_sort(char array[], int frist, int last)
{
int temp;
for(int i = first +1; i<last; i++){
temp = array[i];
int j = i-1;
while( (j >= first) && (array[j] > temp) ){
array[j+1] = array[j];
j--;
}
array[j+1] = temp;
}
}
参考:
WIKI 插入排序
http://en.wikipedia.org/wiki/Insertion_sort
http://en.wikipedia.org/wiki/Insertion_sort
相关文章推荐
- 算法系列(三)排序算法上篇--冒泡排序插入排序和选择排序
- 【Python排序搜索基本算法】之插入排序
- 【算法导论】笔记一(插入排序、归并排序、选择排序、Peek Finding、加法器、中英文字符串搜索)
- 排序和搜索(六)——插入排序的python实现
- 【Python排序搜索基本算法】之插入排序
- 数据结构与算法系列之一:八大排序之插入排序
- 【Lucene3.6.2入门系列】第06节_高级搜索之排序
- 数据结构--排序系列(插入排序,希尔排序,堆排序)Java代码实现
- 【Lucene3.6.2入门系列】第06节_高级搜索之排序
- 算法系列(三)排序算法上篇--冒泡排序插入排序和选择排序
- 排序系列-插入排序
- Python排序搜索基本算法之插入排序实例分析
- 排序系列之——冒泡排序、插入排序、选择排序
- 算法熟记-排序系列-插入排序
- 【排序系列】插入排序java实现
- 数据结构与算法从零开始系列:冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、基数排序
- 内部排序系列 之 插入排序与shell(希尔)排序
- Lucene系列:(9)搜索结果排序
- 算法系列(二)冒泡排序、选择排序、插入排序和希尔排序(Java实现)
- C语言排序系列之插入排序(1)