【Golang】查找-学习笔记
生活随笔
收集整理的這篇文章主要介紹了
【Golang】查找-学习笔记
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在Golang中,常用的查找有兩種:順序查找、二分查找。
1. 順序查找
舉個栗子
有一個數(shù)列:白眉鷹王、金毛獅王、紫衫龍王、青翼蝠王
猜數(shù)游戲:從鍵盤中任意輸入一個名稱,判斷數(shù)列中是否包含此名稱【順序查找】
代碼
2. 二分查找(該數(shù)組是有序的)
舉個栗子
請對一個有序數(shù)組進行二分查找{1,8,10,89,1000,1234},輸入一個數(shù)看看該數(shù)組是否存在此數(shù),并且求出下標,如果沒有就提示"沒有這個數(shù)"。【會使用到遞歸】
二分查找的思路分析
arr = [1,8,10,89,1000,1234] 8
二分查找的思路:比如要查找的數(shù)是key
1).arr是一個有序數(shù)組,并且是從小到大排序
2).先找到中間的下標mid=(leftl+right)/2,然后讓中間下標的值和key進行比較
(1)如果arr[mid] >key,就應(yīng)該向left ----(mid-1)
(2)如果arr[mid]<key,就應(yīng)該向mid+1---- right
(3)如果arr[mid] == key,就找到
(4)上面的1).2).3)的邏輯會遞歸執(zhí)行
3)分析退出遞歸的條件
if left > right{
return…
}
二分查找的代碼實現(xiàn)
總結(jié)
以上是生活随笔為你收集整理的【Golang】查找-学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Zookeeper分布式锁解决羊群效应的
- 下一篇: 如何设计SEO关键字分析统计表