Algorithme de recherche dichotomique
Pour commencer la pratique de codage, ouvrez le Terminal/SSH et tapez node. L'algorithme de recherche dichotomique est utilisé pour trouver l'index d'un élément donné dans un tableau trié. Voici les étapes pour implémenter l'algorithme de recherche dichotomique :
- Décarez les limites de recherche gauche et droite,
l et r, initialisées à 0 et à la longueur du tableau respectivement.
- Utilisez une boucle
while pour réduire progressivement le sous-tableau de recherche en le divisant par deux à l'aide de Math.floor().
- Si l'élément est trouvé, renvoyez son index. Sinon, renvoyez
-1.
- Notez que cet algorithme ne prend pas en compte les valeurs dupliquées dans le tableau.
Voici une implémentation exemple de l'algorithme de recherche dichotomique en JavaScript :
const binarySearch = (arr, item) => {
let l = 0,
r = arr.length - 1;
while (l <= r) {
const mid = Math.floor((l + r) / 2);
const guess = arr[mid];
if (guess === item) return mid;
if (guess > item) r = mid - 1;
else l = mid + 1;
}
return -1;
};
Vous pouvez tester la fonction binarySearch avec les exemples suivants :
binarySearch([1, 2, 3, 4, 5], 1); // 0
binarySearch([1, 2, 3, 4, 5], 5); // 4
binarySearch([1, 2, 3, 4, 5], 6); // -1