ホームページ  >  記事  >  バックエンド開発  >  アレイキューとリンクリストキューの違い

アレイキューとリンクリストキューの違い

WBOY
WBOY転載
2023-09-03 11:05:05688ブラウズ

######導入###

キューは、キュー要素を特定の順序で挿入および削除する線形データ構造です。配列とリンク リストを使用して、C でキューを実装できます。どちらのキューの実装にも、それぞれ独自の利点と用途があります。このチュートリアルでは、配列ベースのキューとリンク リスト ベースのキューを区別します。

キューとは何ですか?

キューは、要素の挿入と削除に FIFO (先入れ先出し) 原則を使用する一連の要素です。コンピューター サイエンスのキューは現実世界のキューと似ており、最初にキューに入った人が最初に削除されます。

キュー データを削除するプロセスは、デキューと呼ばれます。キューにデータを追加する操作は enQueue と呼ばれます。

キューには 2 つのポイントがあります -

    After
  • - キュー内の要素はここから挿入されます。

  • Front
  • - キュー内の要素はここから削除されます。

    キューは 2 つの方法で実装できます -

配列ベースのキュー
  • リストベースのキューまたはリンク リスト キュー
  • 配列ベースのキュー
配列を使用して実装されたキューは、配列ベースのキューと呼ばれます。フロントとリアという 2 つのポインターが使用され、それぞれキュー内の削除ポイントと挿入ポイントを表します。

この実装では、データが挿入される前に配列サイズが事前定義されます。これは、キュー データを挿入および削除する最も簡単な方法です。

リストベースのキュー

アレイキューとリンクリストキューの違いリストベースのキューまたはリンクリストベースのキューでは、キューの実装にリンクリストが使用されます。各キュー ノードは 2 つの部分で構成されます。1 つの部分はデータの保存に使用され、もう 1 つの部分はリンク部分またはメモリ部分です。

各キュー要素は、次のキュー要素のメモリに接続されます。リストベースのキューには 2 つのポインターがあります -

    前ポインタ
  • - 最後のキュー要素を表すメモリ。

  • バック ポインタ
  • - キューの最初の要素を表すメモリ。

  • 配列キューとリンク リスト キューの違い
アレイキューとリンクリストキューの違い

#S.No の中国語訳は次のとおりです: 1 ######複雑###### 2検索プロセス3キューサイズ4挿入および削除操作5データへのアクセス6キューサイズの調整メモリ消費量が少なくなります。 より多くのメモリを消費します。 8要素にランダムにアクセスします。 キュー要素の挿入と削除は簡単です。

配列ベースのキュー

リンクされたリストに基づくキュー

実装と運用が簡単です。

実装するのは簡単ではありません。

これは、簡単かつ迅速に検索するのに役立ちます。

速度が遅く、検索操作が困難です。

初期化中にキューのサイズを定義します。

キューを初期化するときにキューのサイズを定義する必要はありません。

データをキューの先頭に挿入するのは困難ですが、キューの最後にデータを挿入するのは簡単です。

これにより、キューの両端に簡単なデータ挿入が行われます。

ランダム データ アクセス。

キュー要素への順次アクセスを提供します。

キュー サイズの変更は困難です。

キューのサイズを調整するのは簡単です。

######7###### ######メモリ使用量######

######アドバンテージ######

より速く、より簡単に実装できます。

メモリ消費量が少なくなります。

  • キュー サイズを事前に宣言しなくても、キュー サイズを簡単に調整できます。

9

欠点

  • キューのサイズを変更するのは困難です。

  • キューのサイズは事前に宣言してください。

  • 処理速度が非常に遅いです。

  • 構造は複雑で、大量のメモリを消費します。

配列ベースのキューとリンク リスト ベースのキューを使用する

キューのサイズが固定されており、キューのサイズを変更する必要がない場合は、配列を使用してキューを実装できます。配列ベースのキューは、検索が高速でメモリ消費量が少ない場合にも役立ちます。

リンク リスト ベースのキュー実装は、キュー サイズが動的で、キュー要素が複数回挿入および削除される場合に便利です。メモリ消費量は多くなりますが、大規模なアプリケーションに適しています

###結論は###

配列ベースのキューとリンク リスト ベースのキューの使用は、要件によって異なります。大規模なアプリケーションでは、配列ベースのキューは成功せず、代わりにリンク リスト キューが使用されます。

配列ベースのキューでは使用するメモリは少なくなりますが、バックエンドに要素を挿入した後、最初の要素の前に未使用のメモリが残るため、大量のメモリを浪費します。

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

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。