算法思想 (不断地选择剩余元素之中的最小者) 找到数组中最小的那个元素 将它与数组的第一个元素交换位置(如果第一个元素就是最小的元素,那么它就和自己交换) 在剩下的元素中找到最小的元素,将它与数组的第二个元素交换位置 如此往复,直到将整个数组排序 Java实现 代码 public class Sel ...
分类:
编程语言 时间:
2017-12-22 14:57:37
阅读次数:
162
选择排序(Selection sort) 一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一次就将第一个[5]与[3]交换,导致第一个5挪动到第 ...
分类:
编程语言 时间:
2017-12-22 03:59:28
阅读次数:
194
``` def choose_sort(raw_list): """对列表选择排序""" 循环次数控制n 1 for times in range(len(raw_list) 1): 循环开始先假设第一个元素为最小值 min_value = raw_list[times] 遍历列表中的无序部分 如果 ...
分类:
编程语言 时间:
2017-12-22 00:36:32
阅读次数:
154
一 插入排序 直接插入排序 根据顺序将未排序数组中的元素一一插入已排序好的数组中 二 选择排序 二元选择排序 将代排序数组中的最大和最小值选出来分别移到数组的两端 ...
分类:
编程语言 时间:
2017-12-20 03:57:46
阅读次数:
146
选择排序(SelectionSort)的算法思想:对于n个待排序的数组,进行n-1次排序,每次选出待排序数据集中的最小数(或最大数),然后将选出的最小数(或最大数)与当前待排序数据集的首个数交换;以此类推,直到排序结束,整个待排序数组也成为有序数组。 之所以称为选择排序,意为每次选出最小或最大的数, ...
分类:
编程语言 时间:
2017-12-17 20:57:48
阅读次数:
146
选择排序(Selection sort) 基本介绍 选择排序: 每一次从未排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余未排序的元素中选出最小(或最大的)放在已排序序列的末尾,直到全部待排序的数据元素排完。 选择排序是不稳定的排序方法(比如序列[5, 5, 3]第一 ...
分类:
编程语言 时间:
2017-12-17 12:19:51
阅读次数:
109
因为经历了俩次for循环,所以时间复杂度是O(n^2),这种排序很简单但是非常慢的。 ...
分类:
编程语言 时间:
2017-12-15 23:36:26
阅读次数:
200
“普通的插入排序”比选择排序还要慢,但是优化的后的插入排序比选择排序是要快的。插入排序有一个特点当数组越有序,排序会越快。有些时候比有些高级排序速度更快。 同样插入排序的时间复杂度也是O(n^2) ...
分类:
编程语言 时间:
2017-12-15 23:34:42
阅读次数:
152
选择排序可以分为:简单选择排序和堆排序(已知位置,找元素)1.简单选择排序原理:就是直接从待排序数组里选择一个最小(最大)的数字,顺序放入数组里,直到数组排好序代码实现:for(int i=0;i 0; i--){ heapAdjust(arr, i, a.length); } //排序 for(i... ...
分类:
编程语言 时间:
2017-12-14 19:23:14
阅读次数:
117
public class Program { static void Main(string[] args) { int[] array = new int[] { 49, 38, 65, 97, 76, 13, 27 }; SelectionSort(array); foreach (var it ...
分类:
编程语言 时间:
2017-12-14 14:55:44
阅读次数:
169