算法基础
文章平均质量分 58
哈喽沃德&
世界上最遥远的距离不是生与死,而是你亲手制造的BUG就在你眼前,你却怎么都找不到它
展开
-
二分查找算法(递归方式)
二分查找方法基本思想,附上代码实现原创 2022-03-25 21:35:16 · 3549 阅读 · 2 评论 -
归并排序算法详解(递归处理)
文章目录基本思想一、代码示例二、复杂度分析尾注基本思想从名字可以看到,归并排序算法,何为归并?就是把小的部分归并成大的部分。因此归并排序算法其实采用了分治的策略,也就是把一个问题分成若干个小的方便处理的问题,最后再把这些小问题得到的答案合并起来,得到最终的答案。我们常见的归并排序算法其实是二分归并排序,也就是我们把一个数组序列分为左右两部分(每一部分会继续划分左右两部分),然后对这两部分分别进行排序,左右排序完成后,再将这两部分合并起来,简化排序的过程。具体的细节我建议大家去看代码中的逻辑,跟着代原创 2022-03-25 21:18:47 · 1384 阅读 · 0 评论 -
插入排序算法详解
插入排序算法笔记基本思想代码示例复杂度分析尾注基本思想给定一个长度大小为N的数组arr,我们做的就是将这个序列分为两部分,前面是有序的,后面是无序的。然后我们依次取后面的一个元素和前面的元素进行比较,如果符合排序,就插入到前面的有序序列中。具体的细节我建议大家去看代码中的逻辑,跟着代码走一遍,会理解的更加清楚,话不多说上代码代码示例import java.util.Arrays;import java.util.Random;/** * 插入排序算法 */public class I原创 2022-03-24 21:00:31 · 556 阅读 · 0 评论 -
冒泡排序算法详解
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档冒泡排序算法笔记基本思想代码示例二、复杂度分析总结基本思想给定一个长度为N的数组arr,在每一趟遍历时,比较两个相邻的元素,若元素顺序不正确,则交换两个元素的位置,继续向下遍历,因此,每一趟都会有一个最大或最小的值,像冒泡一样,被赶到序列起点或终点,执行N-1次遍历后,即可得到一个排好序的序列arr。代码示例import java.util.Arrays;import java.util.Random;/** * 冒泡排.原创 2022-03-24 20:34:27 · 328 阅读 · 0 评论 -
【选择排序算法详解】
选择排序算法笔记选择排序算法介绍代码示例复杂度计算小结选择排序算法介绍主要思想:对于一个长度为n的数组序列arr,在每一趟的遍历下,寻找一个最大(最小)的值,然后与数组序列终点(起点)进行交换,其次大的(小的)与排序第二的位置交换,每一趟结束后都可以确定一个值的最终位置,经过n-1次遍历后就可以得到一个排好序的数组arr。以百度百科的图作为示例:代码示例/** * 选择排序算法 */public class SelectSort { public static void sel原创 2022-03-24 20:01:43 · 337 阅读 · 0 评论