02.キュー
キュー
データ構造
1番目の1番目の出力(FIFO)、1番目の1番目の出力(LILO)の方式はスタックの順序とは逆である.
Enqueueはキューにデータを入れる機能で、Dequeueはキューからデータを取り出す機能です.
PythonとQ
Queueライブラリには、Queue()、LifoQueue()、PriorityQueue()など、さまざまなキュー構造があります.
Queue()
通常のキューの機能をサポートします.
import queue
data = queue.Queue()
data.put(5)
data.put(3)
#Enqueue 입력값으로 원하는 자료형/데이터를 입력할 수 있다.
data.get()
#Dequeue 꺼내는 값이 정해져있으므로 입력값이 없다. 꺼낸 값을 반환한다.
data.qsize()
#queue의 사이즈를 반환한다.
LifoQueue()
変形キューを使用してLIFOポリシーに従います.後で入ってきた人が先に出てきます.
import queue
data = queue.LifoQueue()
data.put(5)
data.put(3)
#Enqueue 입력값으로 원하는 자료형/데이터를 입력할 수 있다.
data.get()
#Dequeue 꺼내는 값이 정해져있으므로(나중에 넣은 값) 입력값이 없다. 꺼낸 값을 반환한다.
data.qsize()
#queue의 사이즈를 반환한다.
PriorityQueue()
優先度を指定し、優先度の高い順に出力します.△2位は1位以降よりも数字の低い優先順位が高い.
import queue
data = queue.PriorityQueue()
data.put((5, "Korea"))
data.put((3, 4))
#Enqueue 입력값으로 (우선순위, 데이터)로 이루어진 튜플을 받는다.
data.get()
#Dequeue 꺼내는 값이 정해져있으므로(우선 순위가 높은 값) 입력값이 없다. 꺼낸 값을 반환한다.
data.qsize()
#queue의 사이즈를 반환한다.
DequeとQ
PythonのCollectionsライブラリのdequeを使用すると、キューが容易に実現されます.
from collections import deque
queue = deque()
deque.append(data)
deque.appendleft(data)
deque.pop()
deque.popleft()
主に上記の4つの方法を用いてキューを実現し,len(queue)を用いてサイズも知ることができる.appendとpopはインデックス値の大きい側にデータを追加、削除します.
appendleftおよびpopleftは、インデックス値の小さい側でデータを追加および削除します.
Reference
この問題について(02.キュー), 我々は、より多くの情報をここで見つけました https://velog.io/@seongmin-97/자료구조-02.-큐Queueテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol