常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。用一张图概括:关于时间复杂度:1.平方阶(O(n2))排序各类简单排序:直接插入、直接选择和冒泡排序。2.线性对数阶(O(nlog2n))排序快速排序、堆排序和归并排序;3.O(n1+..
分类:
编程语言 时间:
2017-05-18 23:55:35
阅读次数:
270
直接插入排序 冒泡排序 简单选择排序 希尔排序 快速排序 堆排序 归并排序 基数排序 ...
分类:
编程语言 时间:
2017-05-18 16:50:49
阅读次数:
204
算法简介 希尔排序是1959 年由D.L.Shell 提出来的,相对直接排序有较大的改进。希尔排序又叫缩小增量排序。 白话理解: 我们依然已排队为例,加入队伍中,有一些小个子站在了队伍的后面,而一些大个子又站在了队伍的前面,这是如果再使用插入排序,那就太没有效率了。通常情况下,老师会先看一眼,然后将 ...
分类:
编程语言 时间:
2017-05-17 21:32:57
阅读次数:
236
希尔排序 按一定间隔交换元素 原始希尔排序: Dm = [N/2], Dk = [Dk+1/2] 最坏情况:T = θ(N^2) 增量序列 代码: PTA运行结果: ...
分类:
编程语言 时间:
2017-05-17 00:45:58
阅读次数:
199
#include"iostream"usingnamespacestd;intinsertsort(inta[],intsize){//直接插入排序 for(inti=0;i<size-1;i++){ inttemp=a[i+1];//保留要插入的点 intk=i;//k为要插入的位置 if(temp<a[k]){ while(k>=0&&temp<a[k]){ a[k+1]=a[k]; k--; } ..
分类:
编程语言 时间:
2017-05-15 22:21:27
阅读次数:
194
常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。 用一张图概括: 选择排序 选择排序是一种简单直观的排序算法,无论什么数据进去都是 O(n²) 的时间复杂度。所以用到它的时候,数据规模越小越好。唯一的好处可能就是不占用额外的内存空间了吧。通俗来说 ...
分类:
编程语言 时间:
2017-05-15 19:46:59
阅读次数:
218
数据结构 - 希尔排序(Shell's Sort) 具体解释 及 代码(C++) 本文地址: http://blog.csdn.net/caroline_wendy/article/details/24363981 希尔排序(Shell's Sort), 又称"缩小增量排序"(Diminishing ...
分类:
编程语言 时间:
2017-05-15 13:01:15
阅读次数:
213
1.直接插入排序 经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。 如何写写成代码: 代码实现如下: 2.希尔排序 对于直接插入排序问题,数据量巨大时。 如何写成代码: 代码实现如下: 3.简单选择排序 常用于取序列中最大最小的几个数时。 (如果每次比较都交换,那么就是交换排序;如果每 ...
分类:
编程语言 时间:
2017-05-14 21:56:13
阅读次数:
260