选择排序 冒泡排序 插入排序 希尔排序 堆排序 ...
分类:
编程语言 时间:
2016-04-24 18:52:10
阅读次数:
217
Java中的经典算法之选择排序(SelectionSort) a) 原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。也就是:每一趟在n-i+1(i=1,2,…n-1)个记录中选取关键字最小的记录作为有序序列中第i个记录。基于此思想的算法主要有简单选择排序 ...
分类:
编程语言 时间:
2016-04-23 11:31:14
阅读次数:
168
Top
线性查找二分查找冒泡排序插入排序选择排序快速排序归并排序
1 线性查找
1.1 问题
线性查找,又称为顺序查找,是指在所有给定的值中从一端开始逐个检查每个元素是否为要查找的对象,直到找到为止的过程。
1.2 步骤
实现此案例需要按照如下步骤进行。
步骤一:逐个查找要查找的对象
代码如下:
#include stdio.h>typ...
分类:
编程语言 时间:
2016-04-22 10:38:26
阅读次数:
396
排序的两个问题 1 比较 2 交换 ,使得无序序列变少 有序序列变多 选择排序算法的思想: ...
分类:
编程语言 时间:
2016-04-21 18:33:09
阅读次数:
244
对《大话数据结构》P384~P385—简单选择排序,进行了自己的理解并完善了代码。 简单选择排序如下: 代码和解释如下(VS2012测试通过): 运行结果: 时间复杂度分析见草稿图。 时间复杂度是O(n2)。 ...
分类:
编程语言 时间:
2016-04-20 19:47:00
阅读次数:
322
排序算法Java实现排序算法的分类:
内部排序,在排序过程中,全部记录放在内存中,称为内部排序;
外部排序,在排序过程中需要使用外部存储(磁盘),则称为外部排序。
主要介绍内部排序:
插入排序:直接插入排序、二分法插入排序、希尔排序
选择排序:简单选择排序、堆排序
交换排序:冒泡排序、快速排序
归并排序
基数排序
插入排序直接插入排序
基本思想:对于给定的一组记录,初始时假设第一个记录自成一个有序序...
分类:
编程语言 时间:
2016-04-17 23:08:38
阅读次数:
310
合并排序,顾名思义,就是通过将两个有序的序列合并为一个大的有序的序列的方式来实现排序。合并排序是一种典型的分治算法:首先将序列分为两部分,然后对每一部分进行循环递归的排序,然后逐个将结果进行合并。 合并排序最大的优点是它的时间复杂度为O(nlgn),这个是我们之前的选择排序和插入排序所达不到的。他还 ...
分类:
编程语言 时间:
2016-04-17 16:09:18
阅读次数:
353
排序方法 平均情况 最好情况 最坏情况 辅助空间 稳定性冒泡排序 O(n^2) O(n) O(n^2) O(1) 稳定选择排序 O(n^2) O(n^2) O(n^2) O(1) 不稳定插入排序 O(n^2) O(n) O(n^2) O(1) 稳定希尔排序O(n*log(n))~O(n^2) O(n ...
分类:
编程语言 时间:
2016-04-17 14:47:38
阅读次数:
316
Java排序算法 1)分类: 1)插入排序(直接插入排序、希尔排序) 2)交换排序(冒泡排序、快速排序) 3)选择排序(直接选择排序、堆排序) 4)归并排序 5)分配排序(箱排序、基数排序) 所需辅助空间最多:归并排序 所需辅助空间最少:堆排序 平均速度最快:快速排序 不稳定:快速排序,希尔排序,堆 ...
分类:
编程语言 时间:
2016-04-16 22:48:31
阅读次数:
229
http://blog.csdn.net/xiazdong/article/details/8462393 In-place sort(不占用额外内存或占用常数的内存):插入排序、选择排序、冒泡排序、堆排序、快速排序。 Out-place sort:归并排序、计数排序、基数排序、桶排序。 stabl ...
分类:
编程语言 时间:
2016-04-16 18:19:03
阅读次数:
281