欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > HTML >内容正文

HTML

前端技术分享:算法入门之“二分算法”

发布时间:2024/9/30 HTML 60 豆豆
生活随笔 收集整理的这篇文章主要介绍了 前端技术分享:算法入门之“二分算法” 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

现如今面试大厂的前端岗位对于应聘者的算法技巧要求越来越高,现在的前端已经不仅仅是制作页面就能够交差的,所以掌握算法技巧是很重要的,下面小千就来给大家介绍一个二分查找算法。

二分查找

所谓的算法都不是直接使用关键字indexOf fifindIncludes之类的, 都是原生循环来实现。

二分就是一拆为2 比如一个集合:let list = [1,2,3,4,5,6,7]

二分就是在中间拆开变成两个数组

list1=[1,2,3,4]

list2 =[5,6,7]

二分用在哪些地方?

主要有有序数组的查找,但是说 list= [1…10] 可能肉眼就知道。但是如果list = [1000,20000] 要找查找某个数位置 就观察不出来了,更甚至 list = 一千人的电话号码 要查找某一个。二分不是绝对的性能优秀 所有的优秀的 都是对比的。

现在有一个集合放1到10 要找9的的位置,普通的循环要找9次 二分找几次呢?

let list = [1,2,3,4,5,6,7,8,9,10]

第一次中间数 5,6都可以 目标数9

假设:

middle =5

target=9

9>5 下次查找的区间 就用二分的后者 [5,6,7,8,9,10]

接着

middle = 7

target = 9

9>7 下次查找的区间 就继续二分为 [7,8,9,10]

继续

middle=8

target=9

9>8 下次查找的区间 [8,9,10]

继续

middle = 9

target= 9

这样就找到9的位置

都是折叠查找 查找的次数比较稳定长度为8的集合 最多3次 就能找到数

log 8=2

就是同理 16个数 最多需要几次 2 ? = 16 结果是4 最多查找四次

log16= 4

不管开头还是结尾 还是中间 都稳定在 4次之前解决战斗,同理 100个数 找一个数 最多7次 40亿个数 找32次。你学会了吗?

以上就是二分查找算法的介绍了,是不是比你原本使用的方式更好呢?

本文来自千锋教育,转载请注明出处。

总结

以上是生活随笔为你收集整理的前端技术分享:算法入门之“二分算法”的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。