Junior — Middle
Explique le principe de fonctionnement de l'algorithme de recherche binaire et ses particularités.
sobes.tech IA
Réponse de l'IA
L'algorithme de recherche binaire est utilisé pour rechercher un élément dans un tableau ou une liste triée. Son principe :
- Définir l'élément médian du tableau.
- Si l'élément recherché est égal au médian, la recherche est terminée.
- Si l'élément recherché est inférieur au médian, continuer la recherche dans la moitié gauche.
- Si supérieur, dans la moitié droite.
- Répéter le processus de manière récursive ou itérative jusqu'à ce que l'élément soit trouvé ou que la plage de recherche soit épuisée.
Caractéristiques :
- Fonctionne uniquement avec des données triées.
- Complexité — O(log n), beaucoup plus rapide que la recherche linéaire.
- Nécessite un accès aux éléments par indice (par exemple, tableau).
Exemple en Swift :
func binarySearch(_ array: [Int], _ target: Int) -> Int? {
var left = 0
var right = array.count - 1
while left <= right {
let mid = (left + right) / 2
if array[mid] == target {
return mid
} else if array[mid] < target {
left = mid + 1
} else {
right = mid - 1
}
}
return nil
}
let numbers = [1, 3, 5, 7, 9]
if let index = binarySearch(numbers, 7) {
print("Élément trouvé à la position \(index)")
} else {
print("Élément non trouvé")
}