ホームページ  >  記事  >  バックエンド開発  >  優先キューの最後の要素をトラバースせずに抽出します。

優先キューの最後の要素をトラバースせずに抽出します。

WBOY
WBOY転載
2023-09-10 17:25:02777ブラウズ

###############導入###

C の優先キューはデータ構造において通常のキューとは異なりますが、異なる点が 1 つあります。それは、すべての要素に優先順位があることです。キューを反復処理することでその要素を抽出できます。 優先キューの最後の要素をトラバースせずに抽出します。

ただし、このチュートリアルでは、優先キューの最後の要素をトラバースせずに抽出する方法を試みています。はじめましょう……###

プライオリティキューとは何ですか?

データ構造では、抽象データ型は優先キューです。これは、すべての要素に何らかの優先順位が関連付けられているキューです。そのすべての要素は優先度に従って削除されます。優先度の高いデータが最初に抽出され、優先度の低いデータが最初に抽出されます。キューのデータ/要素は整数または文字列にすることができますが、NULL 値にすることはできません。

2 つの要素の優先順位が同じ場合、優先キューは FIFO (先入れ先出し) の原則に従ってフェッチされます。

要素を抽出できる優先キューには 2 つのタイプがあります -

昇順優先キュー

-このタイプの優先キューでは、要素は昇順でフェッチされます。優先度が最も低い要素が最初に削除されます。

  • 降順優先キュー -このタイプの優先キューでは、要素は昇順でフェッチされます。優先度が最も高い要素が最初に削除されます。

  • ###文法### リーリー
  • 抽出優先キューの最後の要素を走査しないでください

    ここでは、キュー全体を走査せずに、優先キューの最後の要素を抽出します。バイナリ ツリーを通じて優先キューを実装します。このプロセス中に次の組み込みメソッドを使用します -

size()

- 優先キューのサイズを返します。

構文

  • queue_name .size()

    insert() - 要素を優先キューに挿入します。 構文

    -queue_name.insert(data_type)
  • getMin()

    - 優先キューの最小要素を返します。

    構文

    -queue_name.getMin()
  • getMax()

    -優先キュー内の最大の要素を返します。

    構文

    - queue_name.getMax()
  • 中国語翻訳は次のとおりです:

    構文 - queue_name.getMax()

    isEmpty()
  • -キューが空の場合は true を返します。

    deleteMin()
  • -最小のキュー要素を削除します。

    構文

    -queue_name.deleteMin()
  • deleteMax()

    - 最大のキュー要素を削除します

    構文-queue_name.deleteMax()

  • ###アルゴリズム###

    ステップ 1

    - キュー操作の構造クラスを作成します。

  • ステップ 2

- 要素を自動的に並べ替えるためのマルチセットを作成します。

ステップ 3

- 要素を優先キューに挿入します。

ステップ 4

- getMin() や getMax などの組み込み関数を使用すると、トラバースせずに最小要素と最大要素 () を取得できます。

###例### キューから最後の要素を抽出するための C コード リーリー ###出力### リーリー ###結論は###

プライオリティ キューは、配列、ヒープ データ構造、リンク リスト、バイナリ ツリーを通じて実装できます。隠されたパスやさまざまなアルゴリズムを明らかにするのに役立ちます。

これでこのチュートリアルは終了です。このチュートリアルが有意義であると感じていただければ幸いです。

以上が優先キューの最後の要素をトラバースせずに抽出します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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