思想 每次选择未排序元素中的最小值,将其放在最左边。 想象你打牌的时候,如果你手上有一堆牌,你每次找到最小的牌,然后将其出出来。手上的是未排序的牌,出出去的牌按顺序摆出来,就是已排序的。 比较耗时:第一次比较n,第二次比较n 1,以此类推 插入耗时:插入策略分为,移动选定元素前的元素,然后插入最小值 ...
分类:
编程语言 时间:
2020-03-19 21:52:05
阅读次数:
83
冒泡排序思想:假定n个元素排序,需要进行n-1次比较,每趟比较每两两元素进行比较,每一趟比较取当前未排数据的最大值放在后面.无论原始数据的状态是怎样排的,时间复杂度都为O(N*N).publicclassBubbleSort{publicstaticvoidbubbleSort(int[]arr){if(arr==null||arr.length<2){return;}for(intrigh
分类:
编程语言 时间:
2020-03-19 09:27:47
阅读次数:
57
常见排序算法 编写代码并测试了5种排序算法 有冒泡排序,选择排序,插入排序,堆排序,归并排序. 下面也给出了代码在机器上的运行结果,虽然不同机器结果会不一样,但是仍然能够比较直观地感受到这些算法的区别,以及理论与实现之间的差距. ...
分类:
编程语言 时间:
2020-03-18 23:50:44
阅读次数:
78
冒泡法:属于交换排序,两两比较大小,交换位置,结果分为升序和降序排列。1、升序: n个数从左至右,编号从0开始到n-1,索引0和1的值比较,如果索引0大,则交换两者位置,如果索引1大,则不交换。继续比较索引1和2的值,将大值放在右侧。直至n-2和n-1比较完,第一轮比较完成。第二轮从索引0比较到n- ...
分类:
编程语言 时间:
2020-03-18 15:45:08
阅读次数:
57
@[toc] 插入排序 二分插入排序 选择排序 选择排序 冒泡排序 快速排序 堆排序 归并排序 桶排序 计数排序 ...
分类:
编程语言 时间:
2020-03-18 09:53:29
阅读次数:
66
``` java.util.Arrays 1.public static int binartSearch(int [] a, int key) 1)使用二分搜索法来搜索指定的int型数组,以获得指定的值 2)要求数组是有序的,否则结果不一定 3)如果key在a数组中存在,就返回找到的第一个的下标,... ...
分类:
编程语言 时间:
2020-03-17 17:58:18
阅读次数:
61
大家好啊,这是0算法基础学算法系列第二篇,上次我在第一弹里讲了关于流程图的内容,我寻思着,这次讲些什么好呢,于是我决定,教大家一个很基础的算法,那就是排序,排序有很多方法,如果你有更多方法请在评论区里留言哦。 排序在程序中特别实用,常用的有快速排序,桶排序,冒泡排序,插入排序等等,在这里我不建议使用 ...
分类:
编程语言 时间:
2020-03-16 23:54:42
阅读次数:
117
【示例7-20】冒泡排序的基础算法 import java.util.Arrays; public class Test { public static void main(String[] args) { int[] values = { 3, 1, 6, 2, 9, 0, 7, 4, 5, 8 ...
分类:
其他好文 时间:
2020-03-16 20:27:29
阅读次数:
50
为什么需要基准测试? 如果你的代码中有性能问题,或者你怀疑某段代码有性能问题(当然最好得明确排除I/O性能问题),可以用基准测试生成CPU分析报告。 基准测试前的准备 生成以_test后缀的go文件(例:xxx_test.go)后,编写基准测试用例,以Benchmark开头的。以测试冒泡排序为例,代 ...
分类:
其他好文 时间:
2020-03-16 15:07:43
阅读次数:
92
冒泡排序:是一种算法,把一系列的数据按照一定的顺序进行排列显示(从小到大或者从大到小)。 var arr = [4, 1, 2, 3, 5]; for (var i = 0; i <= arr.length - 1; i++) { // 外层循环管趟数 for (var j = 0; j <= ar ...
分类:
编程语言 时间:
2020-03-15 18:45:32
阅读次数:
88