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 投稿