算法
来碗孟婆汤
这个作者很懒,什么都没留下…
展开
-
最简洁的快速排序
1).快速排序原理取一个基准值(哨兵pivot)。将基准值依次和其他项进行比较,小于基准值的放到一个集合A里,大于等于基准值的放到另一个集合B里。再将A、B集合接着重复步骤1、2。2).js程序设计 function quickSort(arr){ if(!arr || arr.length<2) return arr const pivot = arr.pop() //获取数组最后一位值作为基准值 const left = arr.filt原创 2020-06-29 18:29:20 · 146 阅读 · 0 评论 -
js二分法查找
1).二分法查找简介二分法查找又称折半查找,一般用在查找一个有序数列中某个特定的元素。2).二分法查找原理每次取有序数列中间的值作为找到对象,和要查值key进行比较。若中间值小于要查询值key,则取中间值右侧数列的中间值继续key比较。若中间值等于要查询值key,则取查询完成。若中间值大于要查询值key,则取中间值左侧数列的中间值继续key比较。采用递归重复上面操作…直到查到结果为止。3).二分法程序设计 /** * arr 有序数列 * low 数列首项标记原创 2020-06-29 10:58:21 · 772 阅读 · 0 评论 -
冒泡排序
1.冒泡排序原理依次比较相邻两个元素大小,把大的放在右边,小的放在左边。2.设计思路第一次比较:首先将数组第一个元素和第二个元素比较,大的放在右边,小的放在左边。第二次比较:将第二个元素和第三个元素比较,大的放在右边,小的放在左边。…依次进行,第一趟比较完成,最大的一定在最右边。第二趟,最右侧元素不参与比较,按照【1】,【2】,【3】步骤,倒数第二大元素就在倒数第二位。…这样每一趟找出一个最大的数据,每一趟少一个数据参与比较3.js设计程序 // 冒泡排序 cons原创 2020-06-28 17:21:45 · 223 阅读 · 0 评论