Data Structure
Queue (ํ) ์ ๋ฆฌ
Yusang
2021. 7. 22. 10:48
๐จ๐ผ๐ป Queue (ํ) ์ ๋ฆฌ With Python
๐ฅ Queue๋?
๊ฐ์ฅ ๋จผ์ ๋ฃ์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฅ ๋จผ์ ๊บผ๋ผ ์ ์๋ ๊ตฌ์กฐ
FIFO (First In First Out ) ๊ตฌ์กฐ
ํน๋ณํ Queue
LifoQueue : ๋์ค์ ์ ๋ ฅ๋ ๋ฐ์ดํฐ๊ฐ ๋จผ์ ์ถ๋ ฅ๋๋ Queue
PrioiryQueue : ๋ฐ์ดํฐ๋ง๋ค ์ฐ์ ์์๋ฅผ ๋ฃ์ด์ ์ฐ์ ์์๊ฐ ๋์ ์์ผ๋ก ์ถ๋ ฅ๋๋ Queue
๐ Queue ๊ด๋ จ ํจ์
import queue
queue = queue.Queue()
queue ์์ฑ ํ๊ธฐ
queue.put("๋ฐ๊ตฌ๋ฆฌ")
queue.put("์๋ฌด")
enqueue (๋ฐ์ดํฐ ๋ฃ๊ธฐ)
print(queue.get())
dequeue (๋ฐ์ดํฐ ์ถ์ถ)
-> "๋ฐ๊ตฌ๋ฆฌ" ์ถ๋ ฅ
print(queue.qsize())
queue ์ฌ์ด์ฆ ๊ณ์ฐ
-> 1 ์ถ๋ ฅ
๐ Priority Queue ๊ด๋ จ
๐ ์ด๋์ ํ๊ฐ ๋ง์ด ์ฐ์ผ๊น?
๋ฉํฐ ํ์คํน์ ์ํ ํ๋ก์ธ์ค ์ค์ผ์ฅด๋ง ๋ฐฉ์์ ๊ตฌํํ๊ธฐ ์ํด ๋ง์ด ์ฌ์ฉ๋ฉ๋๋ค.
Queue์ ํ์ฉ ์๋ก ํ๋ก์ธ์ค ์ค์ผ์ฅด๋ง ๋ฐฉ์์ ์ดํดํ๊ณ ์์ผ๋ฉด ๋ฉ๋๋ค.
๐ ํ์ด์ฌ ๋ฆฌ์คํธ๋ก ํ ๊ตฌํํด ๋ณด๊ธฐ
queueList = list()
def enqueue(data):
queueList.append(data)
def dequeue():
data = queueList[0]
del queueList[0]
return data
for index in range(10):
enqueue(index)
for i in range(10):
print(dequeue(), end=" ")