Java数据结构与算法
不忘编码
这个作者很懒,什么都没留下…
展开
-
Java经典算法之冒泡排序(Bubble Sort)
原理:比较相邻的两个值,将值大的元素交换至右端 思路:依次比较相邻的两个数,将小数放在前面,大数放在后面。即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。重复第一趟步骤,直至全部排序完成。 第一趟完成后,最后一个数一定数组中最大的,所以不参与第二趟比较, 第二趟完成后,倒数第二...原创 2019-01-17 16:40:19 · 225 阅读 · 0 评论 -
Java经典算法之折半查找(二分法)
采用二分法时,数据应是有序并且不重复的 与小时候玩的猜数游戏是一样的,会让你猜一个他所想的1~100之间的数,当你猜了一个数后,他会告诉你三种选择中的一个,比他想的大,或小,或猜中了,为了能用最少的次数猜中,必须从50开始猜,如果说你猜的小,那你必须从51~100开始猜,所以下一次猜的是75(51~100的一半),但如果他说有点大,则推出那个数在1~49之间,所以下一次猜25,每猜一次都将可能的...原创 2019-01-17 18:00:47 · 708 阅读 · 0 评论 -
Java经典算法之选择排序(Select Sort)
思路:就是把所有数据项扫描一遍,挑出最小的那个和最左边的交换位置,即放到0位置。现在最左边的就是有序得了,不需要在交换位置,再次扫描数据时就是从1开始,还是寻找最小的和1交换位置,直到所有数据都是有序的。选择排序的比较次数与冒泡排序相同,都是N-1次(不懂为什么是N-1次的去看这篇文章https://blog.csdn.net/qq_43196107/article/details/8652673...原创 2019-04-08 22:10:22 · 345 阅读 · 0 评论 -
Java经典算法之插入排序(Insert Sort)
插入排序在局部有序的情况下比冒泡排序快一倍,比选择排序快一点。 那什么是插入排序,就是将局部有序的数据向右移动,将未排序的数据插到他的前面 下面我们来解析代码: 这里外层循环out变量从1开始向右移动,他标记了未排序的最左端的数据。在内层的white循环中,in变量从out变量开始,向左移动,直到in变量不能再向左移动并且temp小于in所指的数据项的时候停止移动,while循环的每一趟都...原创 2019-04-19 17:10:21 · 292 阅读 · 0 评论