![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
叨槿
海阔任鱼跃,天高任鸟飞
展开
-
二分查找
1.首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否则进行下一步。 2.如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半区域查找,然后重复第一步的操作。 3.如果某一步数组为空,则表示找不到目标元素。 binarySearch = (arr, val) => { let min = 0; let max = arr.length - 1; while (min < max) { const原创 2021-05-14 15:20:54 · 62 阅读 · 0 评论 -
快速排序
快速排序: 1.从数组中选择一个元素作为基准点。 2.排序数组,所有比基准值小的元素摆放在左边,而大于基准值的摆放在右边。每次分割结束以后基准值会插入到中间去。 3.最后利用递归,将摆放在左边的数组和右边的数组在进行一次上述的1和2操作。 function quickSort(arr) { if (arr.length <= 1) { return arr } const left = []; const right = []; const mid原创 2021-05-14 15:02:32 · 45 阅读 · 0 评论 -
冒泡排序
原理: 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。 2.对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。 3.针对所有的元素重复以上的步骤,除了最后一个。直到没有任何一对数字需要比比较。(有m个数,你需要比较m-1次,这个是固定的。但是每一次比较的次数,是递减的) 代码: function sort(arr) { if (Array.isArray(arr) && arr.length > 0) { // 判断是否是长度大于0的数组 fo原创 2021-05-14 14:54:40 · 47 阅读 · 0 评论