問題タブ [deque]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
655 参照

c++ - deque 実装オプション

私がプログラムしている環境にはそのようなものがないため、独自の両端キューを作成する必要があります。それを実装する方法について、私は2つの選択肢の間で自分自身が引き裂かれていることに気づきました。

  • データを保持する配列へのポインターの成長可能な配列を管理できます。問題は、各アレイ セカンダリのサイズをどのように決定するかということです。
  • 定期的に成長する大きなバッファを 1 つ持つことができ、基本的にその上に循環キューを構築できます。これは、大きな割り当てを効率的に実行するのが難しくなるため、特定のサイズになると良くないように思えます。

何か案は?

0 投票する
2 に答える
168 参照

mysql - mysqlデータベースをロックし、待機中のジョブをデキューする方法

データベースをロックして、待機中のジョブをデキューする方法を誰かが知っているかどうか疑問に思いました。だから私はデータベースにハッシュテーブルを持っていて、複数のユーザーが同時にそのデータを編集するリクエストを送信しているデータベースにデータを保存していますが、データはすべてのユーザーにわたって永続的である必要があり、1人のユーザーだけがアクセス/編集できます一度にそれ。

たくさんありがとう=)

0 投票する
4 に答える
1838 参照

java - 典型的な配列リストの実装がダブルエンドではないのはなぜですか?

なぜArrayList一般的にダブルエンドで実装されていないのですか?これは、前面と背面での高速償却挿入をサポートしますか?

前者よりも後者を使用することに不利な点はありますか?

(私はJavaについて話しているだけではありません。他の言語のデフォルトである両端配列リストを見たことがありませんが、Javaはここでの良い例にすぎません。)


*編集:私はもともとそれらを「配列両端キュー」と呼んでいましたが、それは私の側の誤解でした。私はキューについて話していませんでしたが、両端の配列リストについて話していました。

0 投票する
9 に答える
96877 参照

java - ArrayDeque が LinkedList より優れている理由

Java の ArrayDeque が Java の LinkedList よりも優れている理由を理解しようとしています。どちらも Deque インターフェイスを実装しているためです。

コードで ArrayDeque を使用している人をほとんど見かけません。誰かが ArrayDeque の実装方法にさらに光を当てると、役に立ちます。

理解できれば、自信を持って使えます。JDK の実装での head 参照と tail 参照の管理方法がよくわかりませんでした。

0 投票する
4 に答える
42039 参照

python - Pythonの両端キューはどのように実装され、リストよりも悪いのはいつですか?

私は最近、コードをより効率的にするために、Pythonでさまざまなデータ構造がどのように実装されているかを調査するようになりました。リストと両端キューがどのように機能するかを調査したところ、シフトとシフト解除を行うと、リストのO(n)から両端キューのO(1)に時間を短縮したい場合にメリットが得られることがわかりました(リストは、前面に何かを挿入するたびに完全にコピーされるなど...)。私が見つけられないように見えるのは、dequeの実装方法の詳細と、その欠点とリストの詳細です。誰かがこれらの2つの質問について私に教えてもらえますか?

0 投票する
8 に答える
85263 参照

c++ - STLの両端キューとは実際には何ですか?

私は STL コンテナーを調べて、それらが実際に何であるか (つまり、使用されているデータ構造) を把握しようとしていましたが、dequeが私を止めました: 最初は、これは二重にリンクされたリストであり、両端からの挿入と削除が可能になると思いました一定時間ですが、オペレーター[]が一定時間で行うという約束に悩まされています。リンクされたリストでは、任意のアクセスは O(n) のはずですよね?

また、動的配列の場合、要素を一定時間で追加するにはどうすればよいでしょうか? 再配分が発生する可能性があること、および O(1) はvector の場合と同様に償却コストであることに注意してください。

では、一定時間内に任意のアクセスを可能にし、同時に新しい大きな場所に移動する必要がないこの構造は何なのだろうか。

0 投票する
1 に答える
245 参照

objective-c - Objective-C uitableview セルのデキューが意味をなさないのはいつですか

一般的なガイドラインは、セルが uitableviewcell で画面から消えるときにセルをデキューすることです。

フォームとして機能する uitableview があり、そこに異なるタイプの uitableviewcells がある可能性がある場合、この推奨事項/ガイドラインは緩和されると思います。

例: label/textfield、label/uiswitch、label/label/uidatepicker。

私の場合、このようなテーブルビューは 4 ~ 5 セルに制限されています。

フォーム ベース (4 ~ 5 セル) のテーブルビューのデキューについて心配する必要はありますか?

さまざまな種類のセルを含むテーブルビューに直面したとき、皆さんはどうしますか?

0 投票する
1 に答える
616 参照

c++ - windbgでstldequeの要素数を見つける

windbgでSTLdequeコンテナの要素数を確認するにはどうすればよいですか?

!stl拡張子は両端キューをサポートしていないようです。データ構造の内部を調べてみましたが、要素数の明らかなメンバー変数が見つかりませんでした。

再現不可能な問題のメモリダンプがあるので、ロギングは私にとってオプションではありません。

0 投票する
3 に答える
2549 参照

c++ - 二分探索には、deque C ++データ構造の対数パフォーマンスがありますか?

標準では、データ構造にランダムアクセスがある場合、およびstd::binary_search(...)2つの関連する関数はO(log n)であるとされています。したがって、これらのアルゴリズムのパフォーマンスはO(log n)であると想定します(その内容がユーザーによってソートされていると仮定します)。std::lower_bound(...)std::upper_bound(...)std::deque

ただし、の内部表現std::dequeはトリッキー(チャンクに分割されている)のように思われるので、疑問に思っていました。O(log n)検索の要件は。に当てはまりますかstd::deque

0 投票する
3 に答える
7278 参照

c++ - std::deque メモリ使用量

データ キューを提供する両端キューを使用してローリング平均と分散を返す単純な統計エンジンを実装しました。

両端キューは、値のローリング数に等しいエントリ数で構築されます。

新しい値が到着すると、最も古い値が前面からポップされ、新しい値が背面にプッシュされます。

バックグラウンド タスクとして長時間実行されることが予想されるため、これがメモリ内で大きくならないようにする必要があります。

deque は使用中のヒープに割り当てますか? サイズを修正するために使用できるフラグはありますか?

RHEL 5.3 で G++ 4.1.2 を使用しています