この記事では主に js バイナリ検索の再帰について説明し、コードの作成に役立つことを願っています。
1. 再帰
主に 3 つの変数を制御します: start endmid 、start endmid 、それを繰り返すだけでOKです。
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)
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)
は主にこの記事を参照しています。興味のある方は、この記事を参照してください。
関連する推奨事項:
php 再帰的および非再帰実装のバイナリ検索サンプル コード
以上がjsバイナリ検索再帰とコード共有の作成中の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。