Maison  >  Article  >  interface Web  >  JavaScript utilise un algorithme de recherche binaire pour trouver des données dans un tableau_javascript conseils

JavaScript utilise un algorithme de recherche binaire pour trouver des données dans un tableau_javascript conseils

WBOY
WBOYoriginal
2016-05-16 16:05:221127parcourir

L'exemple de cet article décrit comment JavaScript utilise l'algorithme de recherche binaire pour rechercher des données dans un tableau. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :

La recherche binaire, également connue sous le nom de demi-recherche, présente les avantages de moins de comparaisons, d'une vitesse de recherche rapide et de bonnes performances moyennes ; son inconvénient est que la table à rechercher doit être une table ordonnée, ainsi que l'insertion et la suppression. sont difficiles. Par conséquent, la méthode de recherche binaire convient aux listes ordonnées qui ne changent pas fréquemment mais sont fréquemment recherchées. Tout d'abord, en supposant que les éléments du tableau sont classés par ordre croissant, comparez le mot-clé enregistré en position médiane du tableau avec le mot-clé de recherche. Si les deux sont égaux, la recherche réussit, sinon utilisez l'enregistrement en position médiane pour. divisez le tableau en deux sous-tableaux, le premier et le dernier. Si Si le mot-clé enregistré en position médiane est supérieur au mot-clé de recherche, alors le sous-tableau précédent sera recherché plus loin, sinon le sous-tableau suivant sera recherché plus loin. Répétez le processus ci-dessus jusqu'à ce qu'un enregistrement répondant aux conditions soit trouvé, ce qui rend la recherche réussie, ou jusqu'à ce que la sous-table n'existe plus, auquel cas la recherche échoue.

var Arr = [3,5,6,7,9,12,15];
function binary(find,arr,low,high){
if(low <= high){
if(arr[low] == find)
return low;
if(arr[high] == find)
return high;
var mid = Math.ceil((high + low)/2);
if(arr[mid] == find){
return mid;
}else if(arr[mid] > find){
return binary(find,arr,low,mid-1);
}else{
return binary(find,arr,mid+1,high);
}
}
return -1;
}
binary(15,Arr,0,Arr.length-1);

J'espère que cet article sera utile à la conception de la programmation JavaScript de chacun.

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn