LinkedListの内部構造と双方向連結リスト実装

java.util.LinkedList は、List、Deque、Queue の各インタフェースを実装する双方向連結リストです。これにより、リスト操作だけでなく、キュー・スタック・デックとしても利用可能です。 継承関係 public class LinkedList<E> extends AbstractSequentialList<E> implements List<E>, Deque<E>, Cloneable, java.io.Serializable 主要 ...

7月22日 17:23 投稿

C++コンテナアダプタとスタック・キューを活用したアルゴリズム実装

線形データ構造の特性とC++標準ライブラリ設計 スタック(Stack)は「後入れ先出し(LIFO)」を原則とするデータアクセス機構であり、キュー(Queue)は「先入れ先出し(FIFO)」を採用する。C++標準ライブラリにおいて、std::stackおよびstd::queueはそれ自体がメモリ管理を行うコンテナではなく、既存のシーケンスコンテナ(既定ではstd::deque)を内部に保持するコンテ ...

6月28日 22:10 投稿

スライディングウィンドウの最大値を求めるアルゴリズム

スライディングウィンドウ問題において、各ウィンドウ内の最大値を効率的に求めるには、双方向キュー(deque)を活用した単調キューというデータ構造が有効である。このアプローチにより、O(n)の時間計算量で解を導出できる。 双方向キューの特性と選択理由 通常のキュー(queue)は、要素の追加が末尾から、取り出しが先頭からのみ可能である。一方、双方向キュー(deq ...

5月29日 23:52 投稿