PROGRAM PYTHON

Pythonスクリプト【キューを使おう②~Priority】

 

 

優先順位付キューを使おう

前回は先入れ先出し(FIFO)キューと後入れ先出し(LIFO)キューを使ったプログラムを作りました。
今回は優先順位付キューを使ったプログラムを作ってみましょう。

 

優先順位付キューとは何か?

優先順位付キューは、キューに入れた順番に関係なく、最小の値を持つ要素が最初に検索されます
キューに入れる基本的な要素のパターンは、(優先順位番号, 値) という形式のタプルになります。
例えば、(2, "山")、(0, "海")、(1, "川") という順番で優先順位付キューに要素を入れると、取り出す時は (0, "海")、(1, "川")、(2, "山") という順番になります。

 

優先順位付キューオブジェクトを作成する

優先順位付キューオブジェクトの作成は、以下のようになります。

オブジェクト名.PriorityQueue(maxsize=0)

maxsizeオプションはキューに入れる要素数を表す整数です。
デフォルトは0で、無限に要素を入れることができます。
キューに対する要素の出し入れは、先入れ先出しキューや後入れ先入れキューと同じなので、前回の記事を参照してください。

 

優先順位付キューを使ったプログラム

優先順位付キューを使ったプログラムは、以下のようになります。
キューにタプルの要素を入れて、取り出す時は優先順位と値を別々にして、それぞれをキャンバスに表示させています。

プログラムを実行すると、左側に優先順位番号、右側にその値が表示されます。

 

-PROGRAM, PYTHON
-,