ホームページ >バックエンド開発 >PHPの問題 >PHPのリンクリストと配列の違いは何ですか

PHPのリンクリストと配列の違いは何ですか

青灯夜游
青灯夜游オリジナル
2021-07-08 14:06:061701ブラウズ

違い: 1. 配列は静的にメモリを割り当てますが、リンク リストは動的にメモリを割り当てます; 2. 配列はメモリ内で連続していますが、リンク リストは連続していません; 3. 配列要素はスタック領域にあり、リンク リストは動的にメモリを割り当てます要素がヒープ領域にある; 4. 配列の配置 要素の時間計算量は O(1)、リンク リストの時間計算量は O(n); 5. 配列への要素の挿入または削除の時間計算量は O(n) 、リンクリストのそれは O(1) です。

PHPのリンクリストと配列の違いは何ですか

このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター

とはリンク リスト

リンク リストは、物理ストレージ ユニット上の非連続かつ非順次のストレージ構造です。データ要素の論理的順序は、次のポインタ リンク順序によって実現されます。リンクされたリスト。

リンク リストは一連のノードで構成され (リンク リストの各要素はノードと呼ばれます)、ノードは実行時に動的に生成できます。

各ノードには 2 つの部分が含まれています。1 つはデータ要素を格納するデータ フィールドで、もう 1 つは次のノードのアドレスを格納するポインタ フィールドです。

配列とは

配列とは、一連のデータを編成して操作可能な全体を形成するデータのコレクションです。 PHP の配列は複雑ですが、他の多くの高級言語の配列よりも柔軟性があります。

配列 配列は順序付けられた変数のセットであり、各値は要素と呼ばれます。各要素は、キー (添え字とも呼ばれます) と呼ばれる特別な識別子によって区別されます。

配列内の各エンティティには、キーと値という 2 つの項目が含まれています。対応する配列要素は、数値キーまたは関連付けキーのキー値によって取得できます。変数が単一の値を格納するコンテナである場合、配列は複数の値を格納するコンテナです。

#php でのリンク リストと配列の比較

    ##配列はメモリ内で連続しますが、リンク リストは連続ではありません。
  • 格納方法が異なるため、配列は静的にメモリを割り当て、リンク リストは動的にメモリを割り当て、配列要素はスタック領域に、リンク リスト要素はヒープ領域に配置されます。
  • 配列はメモリ内で連続しているため、添字を使用して検索でき、時間計算量は O(1)、リンク リスト内の要素を検索する時間計算量は O(n) です。 ;
  • しかし、配列の連続性により、性的配列内の要素の挿入または削除の時間計算量は O(n) であり、リンクされたリストの時間計算量は O( 1)。
  • 要約すると、配列とリンク リストの違いは次のとおりです。

1. 配列はメモリを静的に割り当て、リンク リストはメモリを動的に割り当てます。

2. 配列はメモリ内で連続していますが、リンク リストは連続ではありません

3. 配列の要素はスタック領域にあり、リンク リストの要素はヒープ領域にあります

4. 配列は添字を使用して位置決めされ、時間計算量は O( 1)、リンク リスト内の要素の検索時間計算量は O(n) です;

5.配列内の要素の挿入または削除の時間計算量は O(n)、リンク リストの時間計算量は O(1) です。

推奨学習: 「

PHP ビデオ チュートリアル

以上がPHPのリンクリストと配列の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。