首頁 > 後端開發 > Golang > sort 包中的二分查找

sort 包中的二分查找

WBOY
發布: 2024-02-09 12:24:09
轉載
936 人瀏覽過

sort 包中的二分查找

php小編草莓在這篇文章中將向大家介紹sort套件中的二分查找演算法。二分查找是一種高效率的查找演算法,它適用於有序數組中查找特定元素的場景。透過將陣列不斷分成兩部分,並與目標元素進行比較,我們可以快速確定目標元素的位置。此演算法的時間複雜度為O(log n),比線性查找更有效率。在本文中,我們將詳細說明二分查找演算法的實作原理和步驟,幫助大家更能理解並應用這個演算法。

問題內容

我正在Go sort套件中查看這個函數「func SearchInts(a []int, x int) int,並且好奇是否有一種直接的方法來識別切片中是否存在元素?

在 Java Arrays.binarySearch(..) 中,只傳回負值。我很好奇 golang 的 api func SearchInts(a []int, x int) 是否報告 x 不存在?不知道為什麼 func SearchInts(a []int, x int) 不回傳兩個值 (index,isPresent)

解決方法

您可以簡單地檢查:

i := sort.SearchInts(slice, value)
if i<len(slice) && slice[i]==value {
   // It exists
}
登入後複製

以上是sort 包中的二分查找的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板