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

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック









Java で複雑なデータ構造を使用する場合、Comparator を使用して柔軟な比較メカニズムを提供します。具体的な手順には、コンパレータ クラスの定義、比較ロジックを定義するための比較メソッドの書き換えが含まれます。コンパレータインスタンスを作成します。 Collections.sort メソッドを使用して、コレクションとコンパレータのインスタンスを渡します。

データ構造とアルゴリズムは Java 開発の基礎です。この記事では、Java の主要なデータ構造 (配列、リンク リスト、ツリーなど) とアルゴリズム (並べ替え、検索、グラフ アルゴリズムなど) について詳しく説明します。これらの構造は、スコアを保存するための配列、買い物リストを管理するためのリンク リスト、再帰を実装するためのスタック、スレッドを同期するためのキュー、高速検索と認証のためのツリーとハッシュ テーブルの使用など、実際の例を通じて説明されています。これらの概念を理解すると、効率的で保守しやすい Java コードを作成できるようになります。

参照型は Go 言語の特別なデータ型であり、その値にはデータそのものが直接格納されるのではなく、格納されたデータのアドレスが格納されます。 Go 言語では、参照型にはスライス、マップ、チャネル、ポインターが含まれます。 Go 言語のメモリ管理とデータ転送方法を理解するには、参照型を深く理解することが重要です。この記事では具体的なコード例を組み合わせて、Go言語における参照型の特徴と使い方を紹介します。 1. スライス スライスは、Go 言語で最も一般的に使用される参照型の 1 つです。

AVL ツリーは、高速かつ効率的なデータ操作を保証するバランスのとれた二分探索ツリーです。バランスを達成するために、左回転と右回転の操作を実行し、バランスに反するサブツリーを調整します。 AVL ツリーは高さバランシングを利用して、ツリーの高さがノード数に対して常に小さくなるようにすることで、対数時間計算量 (O(logn)) の検索操作を実現し、大規模なデータ セットでもデータ構造の効率を維持します。

Java コレクション フレームワークの概要 Java コレクション フレームワークは Java プログラミング言語の重要な部分であり、データを保存および管理できる一連のコンテナ クラス ライブラリを提供します。これらのコンテナ クラス ライブラリには、さまざまなシナリオでのデータ ストレージと処理のニーズを満たすために、さまざまなデータ構造があります。コレクション フレームワークの利点は、統一されたインターフェイスが提供され、開発者が異なるコンテナ クラス ライブラリを同じ方法で操作できるため、開発の困難さが軽減されることです。 Java コレクション フレームワークのデータ構造 Java コレクション フレームワークにはさまざまなデータ構造が含まれており、それぞれに独自の特性と適用可能なシナリオがあります。以下に、一般的な Java コレクション フレームワークのデータ構造をいくつか示します。 1. リスト: リストは、要素を繰り返すことができる順序付けされたコレクションです。李

Go 言語のデータ構造の謎を深く研究するには、具体的なコード例が必要ですが、簡潔で効率的なプログラミング言語である Go 言語は、データ構造の処理においても独特の魅力を発揮します。データ構造はコンピューター サイエンスの基本概念であり、より効率的にアクセスして操作できるようにデータを整理および管理することを目的としています。 Go 言語のデータ構造の謎を深く学ぶことで、データがどのように保存され操作されるかをより深く理解できるようになり、それによってプログラミングの効率とコードの品質が向上します。 1. 配列 配列は最も単純なデータ構造の 1 つです

PHPSPL データ構造ライブラリの概要 PHPSPL (標準 PHP ライブラリ) データ構造ライブラリには、さまざまなデータ構造を保存および操作するためのクラスとインターフェイスのセットが含まれています。これらのデータ構造には、配列、リンク リスト、スタック、キュー、セットが含まれており、それぞれがデータを操作するためのメソッドとプロパティの特定のセットを提供します。配列 PHP では、配列は一連の要素を格納する順序付けされたコレクションです。 SPL 配列クラスは、ソート、フィルタリング、マッピングなどのネイティブ PHP 配列の拡張機能を提供します。 SPL 配列クラスの使用例を次に示します。 useSplArrayObject;$array=newArrayObject(["foo","bar","baz"]);$array

ハッシュ テーブルを使用すると、PHP 配列の交差と和集合の計算を最適化し、時間の複雑さを O(n*m) から O(n+m) に減らすことができます。 具体的な手順は次のとおりです。 ハッシュ テーブルを使用して要素をマップします。最初の配列をブール値に変換すると、2 番目の配列の要素が存在するかどうかがすぐにわかり、交差計算の効率が向上します。ハッシュ テーブルを使用して最初の配列の要素を既存としてマークし、次に 2 番目の配列の要素を 1 つずつ追加し、既存の要素を無視して共用体計算の効率を向上させます。
