πŸ’» Basic Programing/자료ꡬ쑰

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

곡백였 2025. 3. 22. 18:31
728x90
λ°˜μ‘ν˜•

βœ… μŠ€νƒ(STACK)

βœ”οΈ μŠ€νƒμ€ μΆ”κ°€λœ μš”μ†Œλ₯Ό μ‚¬μš© κ°€λŠ₯ν•œ λ©”λͺ¨λ¦¬μ˜ κ°€μž₯ μ•ž μ£Όμ†Œμ— λ°°μΉ˜ν•˜λŠ” μ„ ν˜• 데이터 ꡬ쑰의 ν•œ μ’…λ₯˜μ΄λ‹€.

βœ”οΈ λ™μž‘μ€ 같더라도 μ‚¬μš©λ˜λŠ” κΈ°μˆ μ΄λ‚˜ ν”„λ‘œκ·Έλž˜λ¨Έκ°€ μ›ν•˜λŠ” μŠ€νƒ μ’…λ₯˜μ— 따라 λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ κ΅¬ν˜„ κ°€λŠ₯

🌎 Push

βœ”οΈ μŠ€νƒμ— μš”μ†Œλ₯Ό μΆ”κ°€ν•˜λŠ” λ™μž‘μ„ ν‘Έμ‹œλΌκ³  ν•œλ‹€.

 

🌎 Pop

βœ”οΈ μŠ€νƒμ—μ„œ μš”μ†Œλ₯Ό μ‚­μ œν•  λ•ŒλŠ” λ§ˆμ§€λ§‰μœΌλ‘œ μΆ”κ°€λœ μš”μ†Œλ₯Ό λ¨Όμ € μ‚­μ œν•˜λŠ” λ™μž‘μ„ 팝이라고 ν•œλ‹€.

βœ”οΈ μŠ€νƒμ— λ§ˆμ§€λ§‰μœΌλ‘œ μΆ”κ°€λœ μš”μ†Œλ₯Ό λ¨Όμ € μ‚­μ œν•˜λŠ” μŠ€νƒκ΅¬μ‘°λ₯Ό ν›„μž…μ„ μΆœ(Last In First Out) 데이터 ꡬ쑰라고 ν•œλ‹€

 

βœ… μŠ€νƒ(STACK)의 μž₯단점

βœ”οΈμŠ€νƒμ˜ κ°œλ… - >μ‹œκ°ν™” κ°€λŠ₯

βœ”οΈ μŠ€νƒμ˜ μ΅œμƒλ‹¨μ—μ„œλ§Œ 데이터 μš”μ†Œλ₯Ό μ‚­μ œ 및 μΆ”κ°€ ν•  수 μžˆλŠ”λ° μ΄λŠ” μŠ€νƒμ—μ„œ νŠΉμ • μš”μ†Œλ₯Ό κ²€μƒ‰ν•˜λŠ” 속도λ₯Ό μ œν•œν•œλ‹€. 

βœ”οΈ μ—­μΆ”μ μ΄λ‚˜ λ¬Έμžμ—΄μ„ λ°˜μ „μ‹œν‚€λŠ” μ‘μš©ν”„λ‘œκ·Έλž¨μ—μ„œλŠ” μŠ€νƒμ΄ ν•„μš”ν•¨

 

βœ… μŠ€νƒ(STACK) ; 정적, 동적 μŠ€νƒ

🌎 μ •μ μŠ€νƒ(Static stack)

βœ”οΈλ°°μ—΄μ„ μ‚¬μš©ν•΄μ„œ 섀계가λŠ₯

βœ”οΈμ΅œμƒλ‹¨ μš”μ†Œλ₯Ό κ°€λ¦¬ν‚€λŠ” 포인터가 μžˆλŠ” 단방ν–₯ μ—°κ²° 리슀트λ₯Ό μ‚¬μš©ν•˜μ—¬ 동적 μŠ€νƒμ„ 섀계할 수 있음 -> λ™μž‘μ€ 같아도 λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ κ΅¬ν˜„

 

🌎 동적 μŠ€νƒ(Dynamic stack)

βœ”οΈ μ‹€ν–‰ 쀑 크기λ₯Ό 늘릴 수 있음 

βœ”οΈ 크기 뿐만 μ•„λ‹ˆλΌ μ†ŒλΉ„ν•˜λŠ” λ©”λͺ¨λ¦¬μ˜ 양도 변함

 

 

 

 

 

728x90