package kpp.sort;/** * 选择排序 * 从第0个元素开始,每次选择最小的元素,与当前元素交换 * 简单选择排序是不稳定的排序。 时间复杂度:T(n)=O(n^2)。 * @author kpp * */public class SelectSort { public s...
分类:
编程语言 时间:
2015-03-27 23:50:28
阅读次数:
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
目录简介交换排序冒泡排序快速排序插入排序直接插入排序希尔排序选择排序简单选择排序堆排序归并排序基数排序总结简介排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参...
分类:
编程语言 时间:
2015-03-16 08:38:00
阅读次数:
264
选择排序的原理说明:第一趟:0脚标位分别和之后的关键字进行比较,如果关键字小于0脚标位的关键字,则交换两个关键字的位置;经过第一趟简单选择排序,0脚标位为所有关键字中最小的记录。第二趟:1脚标位分别和之后的关键字进行比较,如果关键字小于1脚标位的关键字,则交换两..
分类:
编程语言 时间:
2015-03-16 06:27:06
阅读次数:
143
[算法说明]
堆排序是对简单选择排序的改进
简单选择排序是从n个记录中找出一个最小的记录,需要比较n-1次。但是这样的操作并没有把每一趟的比较结果保存下来,在后一趟的比较中,有许多比较在前一趟已经做过了,但由于前一趟排序时未保存这些比较结果,所以后一趟排序时又重复执行了这些比较操作,因而记录的比较次数较多。
堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称为大顶堆...
分类:
编程语言 时间:
2015-03-12 22:35:02
阅读次数:
206
[基本思想]
在要排序的一组数中,选出最小的一个数与第一个位置的数交换;然后在剩下的数种再找出最小的与第二个位置的数交换,如此循环至倒数第二个数和最后一个数比较为止。
算法关键:找到最小的那个数,并用变量记住它的下标。
[java实现]
public class SimpleSelectionSort {
public static void main(String[] arg...
分类:
编程语言 时间:
2015-03-12 15:10:45
阅读次数:
193
1. 分类2. 7种内排序算法的各种指标排序方法平均情况最好情况最坏情况辅助空间稳定性移动次数的平均情况移动次数的最好情况移动次数的最坏情况冒泡排序O(n2)O(n)O(n2)O(1)稳定O(n2)0O(n2)简单选择排序O(n2)O(n2)O(n2)O(1)稳定O(n)0O(n)直接插入排序O(n...
分类:
编程语言 时间:
2015-03-10 23:03:32
阅读次数:
353
程序员必须知道的一些排序算法,几乎已经成为面试笔试中的固有模式,一个优秀的程序员不仅要会写,还要深入理解其中的原理,设计思想。一些常见的排序算法做一下归纳总结。排序算法的分类:其中,像直接插入排序,二分插入排序,冒泡排序,快速排序,简单选择排序,堆排序等都需要熟练掌握。
分类:
编程语言 时间:
2015-03-08 12:53:59
阅读次数:
200
简单选择排序算法 一、基本思想:每一趟循环遍历都从待排序的记录中选出关键字最小的记录,顺序的放在已排好序的子表的最后,直到所有的记录排序完毕。 二、C 语言代码: 1 #include 2 #include 3 4 void selectSort(RecType R[], ...
分类:
编程语言 时间:
2015-03-07 00:59:43
阅读次数:
202
要点简单选择排序是一种选择排序。选择排序:每趟从待排序的记录中选出关键字最小的记录,顺序放在已排序的记录序列末尾,直到全部排序结束为止。简单排序处理流程: ( 1 )从待排序序列中,找到关键字最小的元素;( 2 )如果最小元素不是待排序序列的第一个元素,将其和第一个元素互换;( 3 )从余下的 N ...
分类:
编程语言 时间:
2015-03-06 15:24:31
阅读次数:
136