YS's develop story

Queue (ํ) ์ •๋ฆฌ ๋ณธ๋ฌธ

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=" ")

Comments