Skip to content

Latest commit

Β 

History

History
94 lines (62 loc) Β· 2 KB

File metadata and controls

94 lines (62 loc) Β· 2 KB

μŠ€νƒ

Last In First Out으둜 μ΅œκ·Όμ— μΆ”κ°€ν•œ ν•­λͺ©μ΄ κ°€μž₯ λ¨Όμ € μ œκ±°λ˜λŠ” 데이터 방식

βœ” ν•¨μˆ˜

  • pop() : μŠ€νƒμ—μ„œ κ°€μž₯ μœ„μ— μžˆλŠ” ν•­λͺ©μ„ 제거
  • push() : itemν•˜λ‚˜λ₯Ό μŠ€νƒμ˜ κ°€μž₯ μœ— 뢀뢄에 μΆ”κ°€
  • peek() : μŠ€νƒμ˜ κ°€μž₯ μœ„μ—μžˆλŠ” ν•­λͺ©μ„ μ œκ±°μ—†μ΄ κ°’λ§Œ λ°˜ν™˜
  • isEmpty() : μŠ€νƒμ΄ λΉ„μ—ˆλŠ”μ§€ 검사

βœ” μ‚¬μš© 예

  • μž¬κ·€ μ•Œκ³ λ¦¬μ¦˜
  • μ›Ή 방문기둝
  • μ‹€ν–‰ μ·¨μ†Œ

μ—°κ²° listλ₯Ό μ΄μš©ν•œ μ½”λ“œ 예(C μ–Έμ–΄)



큐

First In First Out으둜 κ°€μž₯ λ¨Όμ € μΆ”κ°€ν•œ 데이터가 λ¨Όμ € μ œκ±°λ˜λŠ” 데이터 방식

βœ” ν•¨μˆ˜

  • add(inQueue)() : 큐의 끝 뢀뢄에 데이터 μΆ”κ°€
  • remove(deQueue)() :큐의 첫번째 ν•­λͺ©μ„ 제거
  • peek() : 큐의 κ°€μž₯ μœ„μ—μžˆλŠ” ν•­λͺ©μ„ μ œκ±°μ—†μ΄ κ°’λ§Œ λ°˜ν™˜
  • isEmpty() : 큐가 λΉ„μ—ˆλŠ”μ§€ 검사

βœ” μ‚¬μš© 예

  • ν”„λ‘œμ„ΈμŠ€ 관리
  • λ„ˆλΉ„ μš°μ„  탐색(BFS)
  • μΊμ‹œ κ΅¬ν˜„
  • μš°μ„ μˆœμœ„ 큐
  • 덱

μ—°κ²° listλ₯Ό μ΄μš©ν•œ μ½”λ“œ 예(C μ–Έμ–΄)


μš°μ„ μˆœμœ„ 큐 ( Priority Queue )


μš°μ„ μˆœμœ„μ˜ κ°œλ…μ„ 큐에 λ„μž…ν•œ 자료 ꡬ쑰.
일반적인 νλŠ” FIFO의 κ·œμΉ™μœΌλ‘œ λ¨Όμ € λ“€μ–΄μ˜¨κ²ƒμ΄ λ‚˜κ°€κ²Œ λ˜λ‚˜ μš°μ„ μˆœμœ„ νλŠ” μš°μ„ μˆœμœ„κ°€ 높은 μˆœμ„œλŒ€λ‘œ λ‚˜κ°€κ²Œ λœλ‹€.

κ΅¬ν˜„ 방법

  • λ°°μ—΄
  • 리슀트
  • νž™(Heap)

ν‘œν˜„ 방법 μ‚½ μž… μ‚­ 제
μˆœμ„œ μ—†λŠ” λ°°μ—΄ / 리슀트 O(1) O(n)
μ •λ ¬λœ λ°°μ—΄ / 리슀트 O(n) O(1)
νž™ O(logn) O(logn)

덱 ( Deque )


Double-ended queue의 μ•½μž.
μ–‘ λμ—μ„œλ§Œ 자료λ₯Ό λ„£κ³  λΊ„ 수 μžˆλŠ” 자료ꡬ쑰
일반 νμ™€μ˜ 차이점은 push,pop ν•  수 μžˆλŠ” λ°©ν–₯이 μ–‘λ°©ν–₯μ΄λΌλŠ” 것이 차이점이닀.