一区二区三区中文国产亚洲_另类视频区第一页_日韩精品免费视频_女人免费视频_国产综合精品久久亚洲

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機構(gòu)

手機站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > 前端技巧|算法入門之“二分算法”

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

來源:千鋒教育
發(fā)布人:小千
時間: 2021-05-25 09:28:00 1621906080

      現(xiàn)如今面試大廠的前端崗位對于應(yīng)聘者的算法技巧要求越來越高,現(xiàn)在的前端已經(jīng)不僅僅是制作頁面就能夠交差的,所以掌握算法技巧是很重要的,下面小千就來給大家介紹一個二分查找算法。

前端

      二分查找

      所謂的算法都不是直接使用關(guān)鍵字indexOf fifindIncludes之類的, 都是原生循環(huán)來實現(xiàn)。

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

      二分就是在中間拆開變成兩個數(shù)組

      list1=[1,2,3,4]

      list2 =[5,6,7]

      二分用在哪些地方?

      主要有有序數(shù)組的查找,但是說 list= [1.....10] 可能肉眼就知道。但是如果list = [1000,20000] 要找查找某個數(shù)位置 就觀察不出來了,更甚至 list = 一千人的電話號碼 要查找某一個。二分不是絕對的性能優(yōu)秀 所有的優(yōu)秀的 都是對比的。

      現(xiàn)在有一個集合放1到10 要找9的的位置,普通的循環(huán)要找9次 二分找?guī)状文兀?/span>

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

      第一次中間數(shù) 5,6都可以 目標(biāo)數(shù)9

      假設(shè):

      middle =5

      target=9

      9>5 下次查找的區(qū)間 就用二分的后者 [5,6,7,8,9,10]

      接著

      middle = 7

      target = 9

      9>7 下次查找的區(qū)間 就繼續(xù)二分為 [7,8,9,10]

      繼續(xù)

      middle=8

      target=9

      9>8 下次查找的區(qū)間 [8,9,10]

      繼續(xù)

      middle = 9

      target= 9

      這樣就找到9的位置

      都是折疊查找 查找的次數(shù)比較穩(wěn)定長度為8的集合 最多3次 就能找到數(shù)

      log 8=2

      就是同理 16個數(shù) 最多需要幾次 2 ? = 16 結(jié)果是4 最多查找四次

      log16= 4

代碼示例

      不管開頭還是結(jié)尾 還是中間 都穩(wěn)定在 4次之前解決戰(zhàn)斗,同理 100個數(shù) 找一個數(shù) 最多7次 40億個數(shù) 找32次。你學(xué)會了嗎?

      以上就是二分查找算法的介紹了,是不是比你原本使用的方式更好呢?最后歡迎對前端開發(fā)感興趣的同學(xué)來到千鋒大前端培訓(xùn)班了解我們的前端培訓(xùn)課程,包含算法課程,全程名師面授,現(xiàn)在咨詢還有免費前端學(xué)習(xí)資料可以領(lǐng)取,快來找在線老師了解一下吧。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
oracle怎么樣實現(xiàn)數(shù)據(jù)庫跨機房同步?

一、oracle怎么樣實現(xiàn)數(shù)據(jù)庫跨機房同步除了使用第三方工具,Oracle提供了extended cluster可以實現(xiàn)類似的功能,使用Oracle RAC + ASM。簡單說下...詳情>>

2023-10-14 01:57:43
web網(wǎng)站性能測試的常用指標(biāo)有哪些?

一、頁面加載時間頁面加載時間是衡量網(wǎng)站性能的重要指標(biāo)之一,它指的是從用戶請求一個頁面到頁面完全加載完成所需的時間。頁面加載時間的長短直...詳情>>

2023-10-14 01:50:34
MySQL索引為什么能讓查詢效率提高?

一、MySQL索引為什么能讓查詢效率提高DB在執(zhí)行一條Sql語句的時候,默認(rèn)的方式是根據(jù)搜索條件進(jìn)行全表掃描。如果我們對某一字段增加索引,查詢時...詳情>>

2023-10-14 01:38:15
什么是面向云原生系統(tǒng)的智能運維?

一、云原生系統(tǒng)概述云原生系統(tǒng)是指在云計算環(huán)境下構(gòu)建和運行的應(yīng)用程序系統(tǒng),具備高可用、彈性擴展、靈活部署和自動化管理等特點。它采用容器化...詳情>>

2023-10-14 01:25:33
怎么提升excel數(shù)據(jù)表訪問運算速度?

一、怎么提升excel數(shù)據(jù)表訪問運算速度目前版本Excel最大列數(shù)為16384,沒有10w加。運算速度和Excel中是否有公式、公式的復(fù)雜度、對象的對少、格...詳情>>

2023-10-14 01:22:48
快速通道