O(n^2)的算法 都是做的升序。 简单选择排序 思路:每次选择还未排序的区间的最小值和未排序区间的第一个值交换。 插入排序(insertion sort) 思路:当前位置的值与前面排好序的区间从后往前对比,找到适合的插入位置并插入。 适用于:近乎有序的排序,在几乎有序的情况下,它的速度会比n(lo ...
分类:
编程语言 时间:
2018-04-29 23:59:46
阅读次数:
366
排序算法,冒泡排序,选择排序,插入排序,快速 排序
分类:
编程语言 时间:
2018-04-29 15:22:03
阅读次数:
133
有关蓝墨云选择和插入排序补写 题目:使用选择和插入排序法,写出第3次排序的结果:3 1 9 3 6 2 10. 选择排序法 解题思路 对于3 1 9 3 6 2 10,用选择排序法 总结:我认为选择排序就是在一个列表中,从左向右进行扫描,遇到最小的,将其与第一个数字进行对调,继而从第二个数字开始,继 ...
分类:
编程语言 时间:
2018-04-29 01:17:36
阅读次数:
174
数组的排序算法 选择排序 每次选择所要排序得数组中的最大值(由大到小排序,由小到大排序则选择最小值)的数组元素,将这个数组元组的值与最前面没有排序的数组元素进行交换, 第一次排序之后,最大的数字来到了第一位,再从第二个元素开始找,找到最大的元素,与第二个交换位置 1 2 3 4 5 6 7 8 9 ...
分类:
编程语言 时间:
2018-04-27 20:01:29
阅读次数:
180
选择排序:同属于基本的算法,在冒泡排序的基础之上进行优化的,相比冒泡排序,选择排序是内层循环只做比较,筛选并记录与外层循环相比最小的值与下标,在内层循环结束后,进行一次值替换,此排序比较次数不变,减少值替换次数,相比冒泡排序,性能更高。 ...
分类:
编程语言 时间:
2018-04-23 14:23:41
阅读次数:
222
冒泡排序 选择排序 快速排序 def partition(li, left, right): randi = random.randint(left, right) li[randi], li[left] = li[left], li[randi] tmp = li[left] while left ...
分类:
编程语言 时间:
2018-04-22 21:58:27
阅读次数:
316
选择排序:选择排序是现将当前第一个索引记为最小值的索引位置,并将其 与此索引后面的元素比较得到最小值的索引,最后比较跟前面的最小值索引是否相同,不同交换两个索引 的值 实现过程: 实现代码: System.out.println(); //打印每一轮的排序结果 System.out.println( ...
分类:
编程语言 时间:
2018-04-21 19:31:48
阅读次数:
213
写在前面: 从大到小: priority_queue: 默认 9 8 5 3 2 由小到大: priority_queue<int, vector<int>, greater<int> > 2 3 5 8 9; 小试牛刀: 问题描述 Huffman树在编码中有着广泛的应用。在这里,我们只关心Huff ...
分类:
其他好文 时间:
2018-04-21 16:18:07
阅读次数:
206
数组排序 目录 一. 冒泡排序 二. 选择排序 三. 优化选择排序 一. 冒泡排序 将数组元素按【从小到大排序】为例 思路:依次对临近的两个元素对比,将最大值放在数组最后;再将剩余的元素对比,大值放在剩余元素的最后. . . 以此循环,最后元素就是按从小到大排列。 1.1. 做之前,先了解这个操作: ...
分类:
编程语言 时间:
2018-04-19 00:35:57
阅读次数:
242