[์ž๋ฃŒ๊ตฌ์กฐ] ํ(Queue) (python ํŒŒ์ด์ฌ)

2023. 8. 20. 19:09ยท๐Ÿ“ฆ Data Structure

ํ(Queue)

ํ๋Š” ๊ฐ€์žฅ ๋จผ์ € ๋„ฃ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜์˜ค๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋‹ค.

์Šคํƒ์ด๋ž‘ ๋น„๊ตํ•˜๋ฉด ์Šคํƒ์€ ์ž…๊ตฌ๊ฐ€ 1๊ฐœ์ธ ํ†ต ๊ฐ™์€ ๊ตฌ์กฐ์ด๊ณ , ํ๋Š” ํ„ฐ๋„ ๊ฐ™์€ ๊ตฌ์กฐ๋‹ค. ๊ฐ€์žฅ ๋จผ์ € ๋“ค์–ด์˜จ ์ฐจ๊ฐ€ ๊ฐ€์žฅ ๋จผ์ € ๋‚˜๊ฐ„๋‹ค.

์ด๋Ÿฐ ๊ตฌ์กฐ๋ฅผ First In First Out(FIFO, ์ผ๋ช… ํ”ผํฌ)๋ผ๊ณ  ํ•œ๋‹ค.

์ถœ์ฒ˜: ์œ„ํ‚คํ”ผ๋””์•„

ํ์—๋Š” ๋‘๊ฐœ์˜ ํฌ์ธํ„ฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค. ํ•˜๋‚˜๋Š” rear, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” front๋‹ค. 

rear์—์„œ๋Š” Enqueue, front์—์„œ๋Š” dequeue์—ฐ์‚ฐ์ด ์ˆ˜ํ–‰๋œ๋‹ค.

 

ํ์˜ ์—ฐ์‚ฐ

- enqueue(): ํ๊ฐ€ ๊ฐ€๋“์ฐผ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๊ฐ€๋“์ฐจ์žˆ์ง€ ์•Š์œผ๋ฉด rear ์œ„์น˜์— ๋ฐ์ดํ„ฐ ์‚ฝ์ž….

- dequeue(): ํ๊ฐ€ ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด front์œ„์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ returnํ•˜๊ณ  remove.

- peek(): ํ์˜ front ์œ„์น˜์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ return. 

- isFull(): ํ๊ฐ€ ๊ฐ€๋“ ์ฐผ๋Š”์ง€ ํ™•์ธ. ๊ฐ€๋“ ์ฐผ๋‹ค๋ฉด return 1. ์•„๋‹ˆ๋ฉด return 0.

- isEmpty(): ํ๊ฐ€ ๋น„์–ด ์žˆ๋Š”์ง€ ํ™•์ธ. ๋น„์–ด ์žˆ์œผ๋ฉด return 1. ์•„๋‹ˆ๋ฉด return 0.

 

ํ in ํŒŒ์ด์ฌ

ํŒŒ์ด์ฌ์—์„œ๋Š” queue๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์žˆ๋‹ค. ๊ทผ๋ฐ ๋ณดํ†ต deque๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•œ๋‹ค. deque๊ฐ€ ์ข‹๋‹คbb

 

์˜ˆ)

from collections import deque

Queue = deque()

Queue.appendleft(2) # enqueue
Queue.appendleft(3) # enqueue
Queue.appendleft(5) # enqueue
Queue.appendleft(8) # enqueue

print(Queue) # deque([8, 5, 3, 2])

print(Queue.pop()) # 2 / dequeue
print(Queue.pop()) # 3 / dequeue

print(Queue) # deque([8, 5])

print(Queue[-1]) # 5 / peek

 

 

 

 

 

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ“ฆ Data Structure' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ž๋ฃŒ๊ตฌ์กฐ] ์Šคํƒ(Stack) (python ํŒŒ์ด์ฌ)  (0) 2023.08.20
'๐Ÿ“ฆ Data Structure' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ž๋ฃŒ๊ตฌ์กฐ] ์Šคํƒ(Stack) (python ํŒŒ์ด์ฌ)
์ œ๋ด‰์•„
์ œ๋ด‰์•„
  • ์ œ๋ด‰์•„
    Overthinking
    ์ œ๋ด‰์•„
    fake it till you make it.
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (104)
      • ๐Ÿงฉ Problem Solving (83)
        • [๋ฐฑ์ค€] (74)
        • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (7)
        • [SW Expert Academy] (1)
        • [์•Œ๊ณ ๋ฆฌ์ฆ˜ for PS] (1)
      • ๐Ÿ“ฆ Data Structure (2)
      • ๐Ÿ“œ Language (14)
        • [python] (14)
      • ๐Ÿ–ค Git (1)
      • ๐ŸŒ† ์ผ์ƒ (2)
        • ๐Ÿ’ฌ ๋ฒฝ๋ณด๊ณ  ๋งํ•˜๊ธฐ (2)
      • ๐Ÿ—„๏ธ ๊ธฐํƒ€ (2)
      • ๐Ÿ”ต css (0)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ •์ฒ˜๊ธฐ
    DP
    ๋ถ€๋ถ„ํ•ฉ
    Bruteforce
    ๋‹ค์ต์ŠคํŠธ๋ผ
    ์žฌ๊ท€
    ํ”Œ๋กœ์ด๋“œ ์™€์ƒฌ
    slicing
    ๋ƒ…์ƒ‰
    boj
    ๋ฐฑ์ค€
    Python
    ์œ„์ƒ์ •๋ ฌ
    DFS
    ๊ทธ๋ฆฌ๋””
    ํˆฌํฌ์ธํ„ฐ
    ๊ตฌํ˜„
    ๋ถ„ํ•  ์ •๋ณต
    ๋ธŒ๋ฃจํŠธํฌ์Šค
    ํŒŒ์ด์ฌ
    ํ”Œ๋กœ์ด๋“œ์›Œ์…œ
    ์Šคํƒ
    imos
    BFS
    ๋ˆ„์ ํ•ฉ
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ๋ฐ๋ธŒ์ฝ”์Šค
    ํŒฐ๋ฆฐ๋“œ๋กฌ
    SWEA
    ๋ฐฑํŠธ๋ž˜ํ‚น
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ œ๋ด‰์•„
[์ž๋ฃŒ๊ตฌ์กฐ] ํ(Queue) (python ํŒŒ์ด์ฌ)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”