現在、基本情報技術者試験の勉強中なのですが、
科目Bの疑似言語にて、データ構造のキューとスタックが出てくる問題がありました。
Pythonにて、キューとスタックはどのように実現するのか気になり、今回記事とさせて頂きました。
■キューとスタックとは
以下のようなデータ構造です。
<キュー>
先入れ先出し方式「FIFO(First In First Out)」
<スタック>
後入れ先出し方式「LIFO(Last In First Out)」
■Pythonでのキューとスタック
<キュー>
・プログラム
import queue
q = queue.Queue()
q.put("red")
q.put("blue")
print(q.get())
q.put("green")
print(q.get())
print(q.get())
・出力結果
red
blue
green
<スタック>
・プログラム
import queue
s = queue.LifoQueue()
s.put("red")
s.put("blue")
print(s.get())
s.put("green")
print(s.get())
print(s.get())
・出力結果
blue
green
red
Pythonでは、queueモジュールを使用して、キューとスタックのデータ構造を実現できることが分かりました。
他の基本情報技術者試験に出てくるデータ構造もPythonでコードを書いてみて、
データ構造とPythonの理解を深めたいなと思います。
Comments