λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“š Computer Science/Data Structure

[자료ꡬ쑰] μŠ€νƒ(Stack)

by hyebin (Helia) 2023. 2. 14.
λ°˜μ‘ν˜•

μŠ€νƒ(Stack)

  • ν•œμͺ½ λμ—μ„œλ§Œ 자료λ₯Ό λ„£κ³  λΊ„ 수 μžˆλŠ” LIFO(Last In First Out) ν˜•μ‹μ˜ 자료 ꡬ쑰
    • LIFO(ν›„μž…μ„ μΆœ): κ°€μž₯ μ΅œκ·Όμ— λ“€μ–΄μ˜¨ 데이터가 κ°€μž₯ λ¨Όμ € λ‚˜κ°
  • μž¬κ·€μ μΈ ν•¨μˆ˜, μ•Œκ³ λ¦¬μ¦˜μ— μ‚¬μš©
  • μ›ΉλΈŒλΌμš°μ € λ°©λ¬Έ 기둝 등에 μ‚¬μš©
  • μ‚½μž… 및 μ‚­μ œμ— O(1), 탐색에 O(n)의 μ‹œκ°„λ³΅μž‘λ„λ₯Ό 가짐

μŠ€νƒμ˜ ꡬ쑰

μŠ€νƒμ˜ ꡬ쑰

  • μŠ€νƒ 상단(stack top): μŠ€νƒμ˜ κ°€μž₯ μœ—λΆ€λΆ„, μŠ€νƒμ—μ„œ μž…μΆœλ ₯이 μ΄λ£¨μ–΄μ§€λŠ” λΆ€λΆ„
  • μŠ€νƒ ν•˜λ‹¨(stack bottom): μŠ€νƒμ˜ κ°€μž₯ μ•„λž«λΆ€λΆ„
  • μš”μ†Œ(element): μŠ€νƒμ— μ €μž₯λ˜λŠ” 것
  • 곡백 μŠ€νƒ(empty stack): λΉ„μ–΄μžˆλŠ” μŠ€νƒ
  • 포화 μŠ€νƒ(full stack): 포화 μƒνƒœμ˜ μŠ€νƒ

μŠ€νƒμ˜ μ—°μ‚°

  • pop(): μŠ€νƒμ—μ„œ κ°€μž₯ μœ„μ— μžˆλŠ” ν•­λͺ© 제거
  • push(element): μš”μ†Œλ₯Ό μŠ€νƒ 상단에 μΆ”κ°€
  • top(): μŠ€νƒ μƒλ‹¨μ˜ μš”μ†Œ λ°˜ν™˜
  • isEmpty(): μŠ€νƒμ΄ λΉ„μ–΄μžˆλŠ” 경우 trueλ₯Ό λ°˜ν™˜

μŠ€νƒμ˜ μ—°μ‚° (push, pop)

 

 

λ°˜μ‘ν˜•