全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

前端技巧|算法入门之“二分算法”

发布时间:2021-05-25 09:28:00
发布人:小千

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

前端

      二分查找

      所谓的算法都不是直接使用关键字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次。你学会了吗?

      以上就是二分查找算法的介绍了,是不是比你原本使用的方式更好呢?最后欢迎对前端开发感兴趣的同学来到千锋大前端培训班了解我们的前端培训课程,包含算法课程,全程名师面授,现在咨询还有免费前端学习资料可以领取,快来找在线老师了解一下吧。

相关文章

JS/TS项目里的Module都是什么?

JS/TS项目里的Module都是什么?

2023-10-14
怎样用SQL语句实现查找一列中第N大值?

怎样用SQL语句实现查找一列中第N大值?

2023-10-14
小软件公司如何做好版本管控和缺陷管理?

小软件公司如何做好版本管控和缺陷管理?

2023-10-14
MySQL的自增ID用完了应该怎么办?

MySQL的自增ID用完了应该怎么办?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取