算法
漫慢丶
年复一年。
展开
-
我真的会细之【Leetcode 704,二分查找最详细java解释。】
二分查找通俗点来说就是在一个排好序的队列中,每次用最中间的那个数据去做比较,你想啊,在排好的队列中,假如比中间值小,那是不是意味着后半部分的值就都比咱要找的目标值要大啊,是不是意味着后一半的数据可以直接不用再去关注了。这就是二分查找的精髓,每次都会去删除一半的数据量。注:二分查找最重要的前提就是排好序。原创 2023-03-03 17:10:47 · 95 阅读 · 0 评论 -
JAVA十大算法详解之插入快速排序算法,不“细”你来d我
快速排序算法个人之前看的资料,呜呜呜,算法竟然是错的!!!!多浪费了我几个小时。不过好在自己弄出来印象会更深一些。个人理解快排原理:选择一个数作为准值,你可以理解为参考值。然后排序后,参考值左边的数都比其小(顺序是不固定的),右边的数都比参考值大(顺序是不固定的)。所以得到的两边顺序不固定,再对两边进行快速排序,当经过最大次数递归后,所有的数,即任意一个数都符合左边的比他小,右边的比他大。也就是实现了排序。个人快排思路快速排序核心是选择一个数作为参考值,取左边第一个数作为key(参考值),以及两原创 2022-04-09 23:05:10 · 289 阅读 · 0 评论 -
JAVA十大算法详解之插入排序算法,不“细”你来d我
插入排序算法/**插入排序算法:分析:1.插入排序算法,大哥比喻就像是打扑克排,拿到第一张后,后面的每一张都进行一次排序。2.即第一个数不需要参与,需要进行n-1次循环3.其中比较重要的就是一个 插入者和被插入者,被插入者(每比较一次就向前移动一位)通过不断的与插入者比较,最后确定插入者应该去的位置,然后跳出while循环为其赋值*/public class InsertSort { public static int[] insertSort(int[] arr){//原创 2022-04-09 18:01:15 · 569 阅读 · 0 评论 -
JAVA十大算法详解之二分查找,不“细”你来d我
二分查找算法/**二分查找算法要求:给定的数组有序思路:二分查找在有序的条件下,只需要一次次的确定所要查找的值所在的区间。而将这个区间定为上一次查找数组的一般效率无疑是最高的,所以也叫二分查找;;去中间值比较,如果相等则直接返回;右查找:如果中间值偏小,则说明待查找数位于mid后面的1/2数组中,此时要确定mid中间值,就绪要将左边界定为mid+1左查找:如果中间值偏大,则说明待查找数位于mid前面的1/2数组中,此时要确定mid中间值,就绪要将右边界定为mid-1;*/public原创 2022-04-09 16:37:48 · 778 阅读 · 0 评论 -
JAVA十大算法详解之冒泡排序算法,不“细”你来d我
冒泡排序/**冒泡排序算法:要求:给定大小的数组思路:会一种就可以会多种思路去实现改算法,从前到后,或者从后往前;再或者从大到小,从小到大。从前到后,且从小到大排序实现思路如下:1.冒泡排序的意思就是一个一个的去放到指定的位置,我是先拿大的。2.从开始位置,第一个和第二个进行比较,如果后面的大则不作操作,如果后面的小,就将它两互换。3.第二个数和第三个数再执行上一步;4.直到第n-1个数和第n个数比较后,就会得到当前数组最大的值,并将其放在数组的最后一位。原创 2022-04-09 17:10:35 · 1432 阅读 · 0 评论