Junior — Middle
Pouvez-vous donner des exemples d'algorithmes pour rechercher des éléments dans des structures de données?
sobes.tech IA
Réponse de l'IA
Pour rechercher des éléments dans des structures de données, on utilise souvent les algorithmes suivants :
- Recherche linéaire (Linear Search) — parcourir les éléments un par un, adapté aux tableaux non triés.
- Recherche binaire (Binary Search) — efficace pour les tableaux triés, divise la zone de recherche en deux à chaque étape.
- Recherche dans les arbres (par exemple, recherche dans un arbre binaire de recherche) — parcours récursif ou itératif pour trouver un élément.
- Recherche dans les tables de hachage — accès rapide par clé à l'aide d'une fonction de hachage.
Exemple de recherche binaire 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
}