C には、スタックとキューのプロパティを処理する両端キュー ヘッダー ファイルがあります。データ構造では、時間計算量 O(1) の問題を解くには一定の時間が必要です。このプログラムで両端キューを使用すると、スタックとキューの両方を使用する利点が得られます。
この記事では、キューのデータ構造を解決して、数値の最小値または最大値を O(1) 時間で取得します。
###文法### リーリー- これは deque として知られており、キューに相当する項目または数値のセットを順序付けします。
- 使用されるデータ型 (int、float など)。
- キューに指定された任意の名前 (ab、cd など)。
リーリーback() は C STL の定義済み関数で、キューの最後のインデックス位置を直接参照します。
リーリーpush_back() も、後ろから要素を挿入するための事前定義された関数です。
###アルゴリズム###
を使用してプログラムを開始します。 数値の最大値または最小値を処理するために両端キューに挿入します。
次に、'push_back[i ]' というメソッドを使用します。このメソッドは、'i' をパラメーターとして受け取り、for ループを使用して配列要素をプッシュします。 次に、事前定義関数
front()を使用して 2 つの変数を作成し、数値の最小値と最大値を見つけます。 Front() は最小の数値を表す最初のインデックスを検索し、back() は最大の数値を表す最後のインデックスを検索します。 ここで、インデックス番号の長さを反復処理するために for ループを初期化し、その長さを使用して最小要素と最大要素の比較を
'dq[i]' として分類します。最後に、
'min_element'変数を使用して、最小長と最大長の出力を出力します。 ###例### このプログラムでは、キューのデータ構造を解いて最小値と最大値を O(1) 時間で取得します。
リーリー ###出力### リーリー ###結論は### 李> 最小または最大の要素を見つけるために、キュー データ構造の概念を調査しました。フロント() と バック() を使用して要素の最小値と最大値を見つける方法を確認し、インデックス付き要素の末尾にプッシュバックを追加する方法も確認しました。デキューを使用すると、O(1) の時間計算量で問題を処理できます。以上がO(1) 時間で最小値または最大値を取得するキュー データ構造を設計するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。