スタックとキュー

スタックとキュー

ここでは,スタックキューについて説明していきます。これは Python に限ったものではなく,どの言語でも共通のもので,簡単に言うならデータの構造です。

また,データを追加することを push,データを取り出すことを pop と言います。

スタック

  • スタックでのpush は,データの一番上にデータを積むこと
  • スタックでのpop は,データの一番上のデータを取り出すこと

実際にコードを書いてみます。Python で実装する場合は collections の deque モジュールをインポートします。

from collections import deque

s = deque([])
s.append(1) # s=[1] この操作が push
s.append(2) # s=[1,2] これもpush
p = s.pop() # s=[1] この操作がpop
print(p) # 2

キュー

  • キューでの push は,データの一番上にデータを積むこと
  • キューでの pop は,データの一番下のデータを取り出すこと

先ほどのスタックとの違いは,pop(データの取り出し) の方法です。スタックではデータの一番上のデータを取り出しましたが,キューではデータの一番下のデータを取り出します。
実際にコードを書いてみます。

from collections import deque

q = deque([])
q.append(1) # s=[1] この操作が push
q.append(2) # s=[1,2] これもpush
p = q.popleft() # s=[2] この操作がpop
print(p) # 1

以上,スタックとキューについて説明していきました。その違いは,データを上から取り出すか,下から取り出すかというものでした。もし分からないところがあればコメントをしていただければと思います。