在冒泡排序、选择排序编写代码之后,楼主渐渐找到了coding的信心,熟能生巧,就像写词唱曲之前,都得先背诵大量的诗词,熟悉各路歌曲,才干走出自己的路线,有自己的杰作。好吧,来让楼主继续进行"社会主义0基础阶段"的任务,这次是插入排序。一. 算法描写叙述 插入排序:插入即表示将一个新的数据插入到...
分类:
编程语言 时间:
2015-03-18 15:34:10
阅读次数:
120
排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。本文将依次介绍上述八大排序算法。算法一:插...
分类:
编程语言 时间:
2015-03-17 23:13:00
阅读次数:
215
/* * 简单选择排序 */public class SimpleSort { public static void main(String[] args) { int[] arrayData = { 5, 9, 6, 7, 4, 1, 2, 3, 8 }; SimpleSortMethod(a.....
分类:
编程语言 时间:
2015-03-16 14:22:51
阅读次数:
119
插入排序的工作机理和打牌时,整理手中的排做法差不多。在开始摸牌的是,我们的左手是空的,排名朝下放在桌上,接着,一次从桌上摸一张牌,并将它插入左手排的正确位置上。为了找到这张牌的正确位置,要将他和手中的没一张哦从右到左进行比较,无论什么时候,左手中的牌都是排好序的。(出自:算法导论)
例如:5,4,6,2,7,3,4,1
5—>4,5—>4,5,6—>2,4,5,6—>2,4,5,6,7—->2,...
分类:
编程语言 时间:
2015-03-16 12:56:06
阅读次数:
139
目录简介交换排序冒泡排序快速排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序归并排序基数排序总结简介排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参...
分类:
编程语言 时间:
2015-03-16 08:38:00
阅读次数:
264
选择排序的原理说明:第一趟:0脚标位分别和之后的关键字进行比较,如果关键字小于0脚标位的关键字,则交换两个关键字的位置;经过第一趟简单选择排序,0脚标位为所有关键字中最小的记录。第二趟:1脚标位分别和之后的关键字进行比较,如果关键字小于1脚标位的关键字,则交换两..
分类:
编程语言 时间:
2015-03-16 06:27:06
阅读次数:
143
常用的排序算法的时间复杂度和空间复杂度
排序法
最差时间分析
平均时间复杂度
稳定度
空间复杂度
冒泡排序
O(n2)
O(n2)
稳定
O(1)
快速排序
O(n2)
O(n*log2n)
不稳定
O(log2n)~O(n)
选择排序
O(n2)
O(n2)
稳定
O(1)
二叉树排序
O(n...
分类:
编程语言 时间:
2015-03-16 01:04:52
阅读次数:
120
在顺序存储结构中,堆排序是一种非常不错的高级选择排序算法,普通情况和最差情况下都可以将时间复杂度控制在O(n * logn)。 堆排序可以用在顺序存储结构,是因为完全二叉树的一种独特性质。而这里还要先提一下满二...
分类:
编程语言 时间:
2015-03-15 21:30:04
阅读次数:
451
内排序:指在排序期间数据对象全部存放在内存的排序。
外排序:指在排序期间全部对象太多,不能同时存放在内存中,必须根据排序过程的要求,不断在内,外存间移动的排序。
根据排序元素所在位置的不同,排序分: 内排序和外排序。
内排序:在排序过程中,所有元素调到内存中进行的排序,称为内排序。内排序是排序的基础。内排序效率用比较次数来衡量。按所用策略不同,内排序又可分为插入排序、选择排序、交...
分类:
编程语言 时间:
2015-03-15 15:22:47
阅读次数:
166
基本思想: 每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好序的数列的最后,直到全部待排序的数据元素排完。 从第一层循环的起始元素开始选到倒数第二个元素,主要是在每次进入的第二层循环之前,将外层循环的下标赋值给临时变量,接下来的第二层循环中,如果发现有比这个最小位置...
分类:
编程语言 时间:
2015-03-15 10:43:14
阅读次数:
143