Maison  >  Article  >  développement back-end  >  Recherche binaire dans le package de tri

Recherche binaire dans le package de tri

WBOY
WBOYavant
2024-02-09 12:24:09895parcourir

sort 包中的二分查找

l'éditeur php Strawberry vous présentera l'algorithme de recherche binaire dans le package de tri dans cet article. La recherche binaire est un algorithme de recherche efficace qui permet de rechercher des éléments spécifiques dans des tableaux ordonnés. En divisant continuellement le tableau en deux parties et en le comparant à l'élément cible, nous pouvons déterminer rapidement la position de l'élément cible. La complexité temporelle de cet algorithme est O(log n), ce qui est plus efficace que la recherche linéaire. Dans cet article, nous expliquerons en détail les principes et étapes de mise en œuvre de l’algorithme de recherche binaire pour aider chacun à mieux comprendre et appliquer cet algorithme.

Contenu de la question

Je travaille dans Go sort包中查看这个函数“func SearchInts(a []int, x int) int et j'étais curieux de savoir s'il existe un moyen direct d'identifier si un élément est présent dans une tranche ?

Dans Java Arrays.binarySearch(..), seules les valeurs négatives sont renvoyées. Je suis curieux de connaître l'API de Golang func SearchInts(a []int, x int) 是否报告 x 不存在?不知道为什么 func SearchInts(a []int, x int) 不返回两个值 (index,isPresent) ?

Solution

Vous pouvez simplement cocher :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer