![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
常见简单算法实现
凌霄之外
这个作者很懒,什么都没留下…
展开
-
JavaScript实现常见查找算法
JavaScript实现常见查找算法二分查找二分查找条件:有序数组思路:每次都和数组中间位置数进行比较等于则返回若比其小,则 high = mid -1比其大,则 low = mid + 1循环条件为 low <= high代码实现 //二分查找,找到返回元素索引,否则返回-1 function binary_search(arr, item) { let low = 0; let high = arr.leng原创 2020-11-07 10:28:45 · 456 阅读 · 0 评论 -
JavaScript实现常见排序算法
快速排序快速排序用了分治思想分治思想:(1)找出简单的基线条件(2)确定如何缩小问题的规模,使其符合基线条件快速排序步骤:基线条件:当数组长度小于2时候不用排序,直接返回数组缩小问题规模:选择基准值将数组分成两个子数组:小于基准值的元素和大于基准值的元素对这两个子数组进行快速排序代码实现: function quicksort(arr) { if(arr.length < 2){ return arr }else{原创 2020-11-07 10:00:18 · 118 阅读 · 0 评论 -
JavaScript 快速排序
做面试题的时候,居然忘记了快速排序,属实惭愧,前来复习一下快速排序用的分治思想:1.找出基线条件,这种条件必须尽可能简单。2.不断将问题分解(或者说缩小规模),直到符合基线条件。快排思路:1.选择基准值2.将数组分成两个子数组:小于基准值的元素和大于基准值的元素。2.对这两个子数组进行快速排序。代码实现:function quicksort(arr) { if(arr.length < 2){ return arr }else{ let原创 2020-11-03 10:37:54 · 319 阅读 · 0 评论 -
JavaScript 字符串替换
投简历的时候遇到一道算法题实现起来不难,思路如下,如有错误欢迎指正。题目: A、B、C是3个字符串。把A中包含的所有B都替换为C,如果替换以后还有B就继续替换,直到A不包含B为止。1.请编写程序实现以上功能。不允许使用系统提供的字符串比较、查找和替换函数。2.以上程序是否总是能正常输出结果?如果不是,列出哪些情况下无法正常输出结果,尽可能详细和全面。思路:无效情况:考虑一下一眼能看出来的无效情况,当字符串B的长度大于A的时候,A包含不了B,属于无效。总体思路:1.找到B在A中的位置 2.去除字串B原创 2020-11-03 09:27:29 · 492 阅读 · 0 评论