はじめに 本記事は、主に競技プログラミングにおける話です。 Python において、スタックとキューを実装するには複数の方法があります。 スタック(stack) list を使う(append(), pop()) collections.deque を使う(append(), pop()) キュー(queue) list を使う(append(), pop(0)) collections.deque を使う(append(), popleft()) queue.Queue を使う(put(), get()) さて、この中で一体どれを使うのが最適でしょうか。 今回はそれを速度面に注目して調べます。 計測方法 各データ構造に対して、要素の追加と取り出しを10回、100回、1000回、10000回、100000回行います。 どのコードも、以下の import 部分は省略しています。