二分検索は、ソートされた配列内の要素を見つけるためのより効率的なアルゴリズムです。これは、検索間隔を繰り返し半分に分割することで機能します。 binarySearch 関数の詳細な内訳は次のとおりです:
function binarySearch(array $arr, float|int $x) { $low = 0; $high = count($arr)-1; // $midIndex = (int) ($low ($high - $low)/2); $i = 0; while($low $arr[$midIndex]){ $low = $midIndex 1; echo $low."\n"; }else{ $high = $midIndex - 1; } } return "The number {$x} was not found in the array"; } echo binarySearch([1,2,3,4,5,6,7,8,9,10,44,45,46,47,48,49,50], 45)
関数 binarySearch は 2 つのパラメータを受け入れます:
線形検索は、配列内の特定の要素を見つけるために使用される最も単純な検索アルゴリズムの 1 つです。 PHP の LinearSearch 関数を詳しく見てみましょう。
function linearSearch(array $arr, float|int $x) { for($i=0; $i関数 LinearSearch は 2 つのパラメータを受け入れます:
- $arr: 整数の配列。
- $x: 検索する数値。浮動小数点または整数を指定できます。
- for ループは配列の各要素を反復します。 count($arr) 関数は、配列内の要素の数を返します。
- ループ内で、コードは現在の要素 ($arr[$i]) が $x に等しいかどうかをチェックします。一致するものが見つかった場合は、その番号が見つかったインデックスを示すメッセージを返します。
- 数値が見つからないままループが完了した場合、関数は配列内で数値が見つからなかったことを示すメッセージを返します。
- 線形検索は単純で実装が簡単です。目的の要素が見つかるか、配列の末尾に到達するまで、配列の各要素を順番にチェックします。このアプローチは単純ですが、時間計算量が O(n).
であるため、大規模な配列の場合は非効率的になる可能性があります。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3