简单选择排序 简单选择排序属于选择排序, 选择排序的思想是:每一趟从待排序的记录中选出关键字最小的记录,按顺序放在以排序的记录序列的后面,知道全部排完为止。 1.简单选择排序法是每次循环找出最值,循环结束后将最值调整到合适位置,交换的次数少。 每次找出当前无序队列中的最小的元素与第一个交换位置,再选 ...
分类:
编程语言 时间:
2017-04-22 17:32:59
阅读次数:
179
1.冒泡排序JavaScript代码实现: function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr ...
分类:
编程语言 时间:
2017-04-20 14:20:13
阅读次数:
197
1.直接插入排序2.希尔排序3.简单选择排序4.堆排序5.冒泡排序6.快速排序7.归并排序8.基数排序1.直接插入排序经常碰到这样一类排序问题:把新的数据插入到已经排好的数据列中。将第一个数和第二个数排序,然后构成一个有序序列将第三个数插入进去,构成一个新的有序序列。对第四..
分类:
编程语言 时间:
2017-04-18 11:52:23
阅读次数:
254
1> 插入排序 2> 希尔排序 3> 冒泡排序 4> 选择排序 5> 快速排序 排序算法参考:http://blog.csdn.net/happy_wu/article/details/51841244 查找算法: 1>顺序查找 2> 二分查找 ...
分类:
编程语言 时间:
2017-04-17 23:50:05
阅读次数:
390
假设我们有如下一个数组: 使用选择排序算法对这个数组进行排序,步骤如下: 第 1 次 在下标0到6之间找到最小的数字,我们可以发现最小的数字是15,它在下标为4的位置上; 把下标4上面的数字跟下标0上面的数字互换,得到排序如下图的数组: 第 2 次 在下标1到6之间找到最小的数字,我们可以发现最小的 ...
分类:
编程语言 时间:
2017-04-16 23:54:28
阅读次数:
263
直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。 设数组为a[0…n-1]。 1. 初始时,数组全为无序区为a[0..n-1]。令i=0 2. ...
分类:
编程语言 时间:
2017-04-16 19:23:00
阅读次数:
181
上篇总结中主要实践了算法的内排序的交换排序,那么接下来我们继续实践选择排序的两种:直接选择和堆排序算法。 直接选择排序 package com.sort; /** * 直接选择排序算法 * @author weixing-yang * * 算法思路: * 首先找出最大元素,将其与a[n-1]位置置换 ...
分类:
编程语言 时间:
2017-04-16 12:33:55
阅读次数:
214
选择排序: 两个for循环嵌套,外循环记录每次循环开始的位置,内循环查找本次循环内的最小值; 实质是每循环一次将查到的最小值放在每次循环的最初开始的位置; 代码: ...
分类:
编程语言 时间:
2017-04-15 13:50:57
阅读次数:
166
选择排序(以递增排序为例):通过内部循环第一次遍历数组找到最小的元素与数组的第一个元素交换位置,第二次遍历数组找到第二小的元素与数组的第二个元素交换位置,当内存循环找到最小的元素并交换位置后下次遍历时应该避开这个最小元素。这种排序方法对任何结构的数组都是O(n²)的时间复杂度 插入排序(以递增排序为 ...
分类:
编程语言 时间:
2017-04-14 23:53:55
阅读次数:
299
选择排序(如果递增排序) 每次选取从当前结点到末尾结点中最小的一个与当前结点交换,每一轮固定一个元素位置。 时间复杂度O(n^2),空间复杂度O(1)。以下的演示样例代码以带头结点的链表为存储结构: #include<stdio.h> #include<stdlib.h> #define Elemt ...
分类:
编程语言 时间:
2017-04-14 20:31:31
阅读次数:
155