PHP の配列ソートと検索アルゴリズム
PHP は、さまざまなデータ型とアルゴリズムをサポートする非常に人気のあるプログラミング言語であり、配列の並べ替えと検索アルゴリズムは基本的かつ重要な部分です。この記事では、PHP で一般的に使用される配列の並べ替えと検索アルゴリズム、およびそのアプリケーション シナリオと効率分析を紹介します。
1. 配列ソート
PHP は、バブル ソート、挿入ソート、選択ソート、クイック ソート、マージ ソートなどを含む、さまざまな配列ソート方法を提供します。以下は、一般的に使用されるいくつかのアルゴリズムの紹介とサンプル コードです:
- バブル ソート
バブル ソートはシンプルですが非効率です ソート アルゴリズムの基本的な考え方配列の最初の要素から順に隣り合う要素の大きさを比較し、左の要素が右の要素より大きい場合、位置を入れ替えます。このラウンドの比較の後、最大の要素が配列の最後に移動されます。次に、最初の要素から開始して上記の操作を繰り返すと、時間計算量は O(n^2) になります。
サンプル コード:
function bubble_sort($arr) { $len = count($arr); for ($i = 0; $i < $len - 1; $i++) { for ($j = 0; $j < $len - $i - 1; $j++) { if ($arr[$j] > $arr[$j + 1]) { $temp = $arr[$j]; $arr[$j] = $arr[$j + 1]; $arr[$j + 1] = $temp; } } } return $arr; }
- 挿入ソート
挿入ソートは、比較的単純な並べ替えアルゴリズムです。その基本的な考え方は、並べ替えられるデータは次のとおりです。ソートの目的を達成するために、すでにソート済みのシーケンスに挿入されます。前の要素がソートされていると仮定して、配列の 2 番目の要素から開始して、挿入操作に適した位置を探します。バブルソートと同様に、その時間計算量も O(n^2) です。
サンプル コード:
function insertion_sort($arr) { $len = count($arr); for ($i = 1; $i < $len; $i++) { $temp = $arr[$i]; for ($j = $i - 1; $j >= 0 && $arr[$j] > $temp; $j--) { $arr[$j + 1] = $arr[$j]; } $arr[$j + 1] = $temp; } return $arr; }
- クイック ソート
クイック ソートは、一般的に使用される効率的な並べ替えアルゴリズムです。その基本的な考え方は、配列が基本値として使用され、残りの要素が 2 つのサブシーケンスに分割されます。左側の数値はすべて基本値より小さく、右側の数値はすべて基本値より大きくなります。次に、サブシーケンスの長さが 1 または 0 になるまで、左と右のサブシーケンスに対して上記の手順を繰り返します。クイックソートの計算量は O(n log2 n) であり、不安定なソートです。
サンプルコード:
function quick_sort($arr) { $len = count($arr); if ($len <= 1) { return $arr; } $pivot_key = $arr[0]; $left_arr = array(); $right_arr = array(); for ($i = 1; $i < $len; $i++) { if ($arr[$i] <= $pivot_key) { $left_arr[] = $arr[$i]; } else { $right_arr[] = $arr[$i]; } } $left_arr = quick_sort($left_arr); $right_arr = quick_sort($right_arr); return array_merge($left_arr, array($pivot_key), $right_arr); }
2. 配列検索
PHP の配列検索アルゴリズムには、主に線形検索、二分検索、ハッシュ検索があります。
- 線形検索
線形検索は単純な検索アルゴリズムです。基本的な考え方は、配列の最初の要素を取得し、要素の値とキーワードを 1 つずつ比較して同じかどうかを確認し、存在する場合は要素の添字を返し、存在しない場合は -1 を返します。線形探索の時間計算量は O(n) です。
サンプルコード:
function linear_search($arr, $key) { $len = count($arr); for ($i = 0; $i < $len; $i++) { if ($arr[$i] == $key) { return $i; } } return -1; }
- 二分探索
二分探索は半探索とも呼ばれ、基本的な考え方は、順序付けられた配列を 2 つに分割することです。部分はその都度中間要素とキーワードの大きさを比較し、等しければその要素の添え字を返し、等しくない場合は目的の要素が見つかるまで大小関係に従って検索範囲を半分に縮小します。二分探索の時間計算量は O(log2 n) です。
サンプル コード:
function binary_search($arr, $key) { $low = 0; $high = count($arr) - 1; while ($low <= $high) { $mid = floor(($low + $high) / 2); if ($arr[$mid] == $key) { return $mid; } elseif ($arr[$mid] > $key) { $high = $mid - 1; } else { $low = $mid + 1; } } return -1; }
- ハッシュ検索
ハッシュ検索は、ハッシュ テーブルを使用した効率的な検索アルゴリズムです。基本的な考え方は、各要素のキーをハッシュ テーブルにマッピングし、ハッシュ関数を通じてその位置を計算し、その位置で必要な要素を見つけることです。ハッシュ検索の時間計算量は O(1) ですが、ハッシュ テーブルを構築して維持する必要があります。
上記は、PHP で一般的に使用される配列ソートおよび検索アルゴリズムの紹介とサンプル コードです。実際のアプリケーション シナリオやデータ サイズに応じて異なるアルゴリズムを選択すると、コードの効率が向上します。
以上がPHP の配列ソートと検索アルゴリズムの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHP プログラミングでは、アルゴリズムは不可欠な部分です。一般的なアルゴリズムをマスターすると、コードの効率が向上するだけでなく、その後のプログラム設計にも役立ちます。 PHP プログラミングにおける一般的なアルゴリズムは次のとおりです。 ソート アルゴリズム ソート アルゴリズムとは、特定のルールに従って一連のデータを順序付けられたシーケンスに配置することを指します。 PHP プログラミングで一般的に使用されるソート アルゴリズムには、バブル ソート、挿入ソート、選択ソート、クイック ソートなどが含まれます。このうち、クイックソートは最も時間計算量が低いソートアルゴリズムであり、大規模なデータの処理に適しています。検索アルゴリズム 検索アルゴリズム

PHP は、さまざまなデータ型とアルゴリズムをサポートする非常に人気のあるプログラミング言語であり、配列の並べ替えと検索アルゴリズムは基本的かつ重要な部分です。この記事では、PHP で一般的に使用される配列の並べ替えと検索のアルゴリズムと、そのアプリケーション シナリオと効率分析について紹介します。 1. 配列のソート PHP は、バブル ソート、挿入ソート、選択ソート、クイック ソート、マージ ソートなど、さまざまな配列のソート方法を提供します。以下は、一般的に使用されるいくつかのアルゴリズムの紹介とサンプル コードです。 バブル ソート (BubbleSort)

データの並べ替えとフィルター処理に PHP 配列を使用する方法 はじめに: PHP アプリケーションを開発するとき、多くの場合、配列の並べ替えとフィルター処理が必要になります。大量のデータを処理する場合、並べ替えとフィルター処理は非常に重要な操作です。 PHP は、配列を簡単に並べ替えたりフィルタリングしたりできる一連の関数とメソッドを提供します。この記事では、PHP 配列を使用してデータを並べ替えおよびフィルターする方法を紹介し、対応するコード例を示します。 1. データの並べ替え PHP では、sort() や rsor など、さまざまな配列の並べ替えメソッドが提供されています。

PHP は Web 開発で広く使用されているスクリプト言語であり、動的な Web サイトの構築においてますます優れています。 Web 開発では、データ構造とアルゴリズムは他のプログラミング カテゴリと同様に重要であり、プログラムの実行効率に与える影響は特に重要です。特に、大量のデータの保存と処理、または高いプログラム パフォーマンス要件を伴うシナリオでは、データ構造とアルゴリズムは無視できない部分になっています。この記事では主に、PHP で一般的に使用されるデータ構造とアルゴリズムをいくつか紹介します。 1. データ構造配列 PHP 配列は非常に一般的です

インターネットの普及とアプリケーションの継続的な拡大に伴い、プログラミング言語の開発の重要性がますます高まっています。非常に人気のあるプログラミング言語として、PHP も絶えず開発されています。 PHP を使用したプログラミングの過程で、PHP 開発者は、何らかの知識を表現し、アルゴリズムを自動的に生成する必要に直面する場合があります。では、PHP で知識を表現し、アルゴリズムを自動生成するにはどうすればよいでしょうか?この記事では以下でこれについて説明します。 1. 知識表現 知識表現は人工知能の分野において非常に重要な問題です。知る

PHP アルゴリズム分析: 二分探索アルゴリズムを使用して、順序付けされた配列内の要素をすばやく見つけるにはどうすればよいですか?概要: 二分探索アルゴリズムは、順序付けされた配列内の特定の要素を見つけるのに適した効率的な検索アルゴリズムです。この記事では、二分探索アルゴリズムの原理を詳しく紹介し、PHP コード例を示します。原理: 二分探索アルゴリズムは、探索範囲を半分に減らすことを繰り返すことで、ターゲット要素を迅速に見つけます。処理としては、まず検索範囲を配列の先頭と末尾に絞り、次に中央要素のインデックスを計算して対象要素と比較し、その後、検索範囲を配列の先頭と末尾に絞ります。

PHP は、Web アプリケーションの開発によく使用される、広く使用されている開発言語です。ただし、Web アプリケーションでは、データ処理、ストレージ、クエリなどを含む大量のデータを処理する必要があることがよくあります。そのため、PHP でアルゴリズムとデータ構造を適用することは、非常に重要なテクノロジです。アルゴリズムは、コンピューター プログラミングで問題を解決するために使用される一般的な方法です。プログラミングでは、プログラムの効率、保守性、拡張性を向上させるアルゴリズムを設計および実装することで問題を解決します。一般的に使用されるアルゴリズムには、並べ替え、検索、分割統治、貪欲などが含まれます。

ブレイン マッピング機能における PHP と Vue のコア アルゴリズムを深く理解する はじめに: 現代のインターネット時代では、情報の整理と管理に役立つさまざまなアプリケーションを使用することがよくあります。脳マッピングは情報を整理するための一般的かつ実用的な方法であり、複雑な思考プロセスをグラフィカルに表示できます。この記事では、ブレイン マッピング機能における PHP と Vue のコア アルゴリズムに焦点を当て、コード例を示します。 1. マインドマップの特徴. マインドマップは、中心となるテーマを核とし、そのテーマに関連する情報をツリー構造で表示する脳マップの一種です。
