Cet article partage principalement avec vous la récursivité de la recherche binaire js et lors de l'écriture du code, j'espère qu'il pourra aider tout le monde.
1. Récursion
Contrôle principalement trois variables : start end mid , start end mid , répétez-le et tout ira bien.
const data = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]function Recursive(s,data){ let len = data.length let start = 0 let end = len-1 let mid return find(start,end,s)}function find(start,end,s){ mid =Math.ceil((end+start)/2) if (s==data[mid]) { return s } else if(s>data[mid] && start <= end) { end = mid-1 return find(start,end,s) } else if(s<data[mid] && start <= end){ start = mid+1 return find(start,end,s) } else{ return null } } let v = f(15,data) console.log("vvvv",v)
boucle while
const data = [18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1]function while_find(s){ let len = data.length let start = 0 let end = len-1 let mid while(start <= end){ mid =Math.ceil((end+start)/2) if (s<data[mid]) { start = mid+1 } else if(s>data[mid]){ end = mid-1 } else{ return s } } return null} let v= while_find(8) console.log("vvvv",v)
S'inspire principalement de cet article. Cliquez pour l'ouvrir. Il existe également quelques variantes du. algorithme binaire. Les étudiants intéressés peuvent le consulter et il est très bien écrit.
Recommandations associées :
Partage d'exemples d'algorithme de recherche binaire php
exemple de code de recherche binaire php pour récursif et non récursif implémentations
algorithme de base js : tri à bulles, recherche binaire
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!