SMALL

๋ชฉ๋กHeap (2)

You are a developer, not a coder.

Heap ์—๋Œ€ํ•ด์„œ

์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์œ„ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ Goal ์šฐ์„  ์ˆœ์œ„ ํ๋ฅผ ์œ„ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ, ํž™(heap)์— ๋Œ€ํ•ด ์ดํ•ดํ•œ๋‹ค. ๋ฐฐ์—ด์„ ์ด์šฉํ•˜์—ฌ ํž™(heap)์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํž™(heap)์˜ ์‚ฝ์ž…๊ณผ ์‚ญ์ œ๋ฅผ ์ดํ•ดํ•œ๋‹ค. [๋“ค์–ด๊ฐ€๊ธฐ ์ „] ์šฐ์„ ์ˆœ์œ„ ํ: ์šฐ์„ ์ˆœ์œ„์˜ ๊ฐœ๋…์„ ํ์— ๋„์ž…ํ•œ ์ž๋ฃŒ ๊ตฌ์กฐ ๋ฐ์ดํ„ฐ๋“ค์ด ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ  ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € ๋‚˜๊ฐ„๋‹ค. ์šฐ์„ ์ˆœ์œ„ ํ์˜ ์ด์šฉ ์‚ฌ๋ก€ ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ์‹œ์Šคํ…œ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ์ œ์–ด ์šด์˜ ์ฒด์ œ์—์„œ์˜ ์ž‘์—… ์Šค์ผ€์ฅด๋ง ์ˆ˜์น˜ ํ•ด์„์ ์ธ ๊ณ„์‚ฐ ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ๋ฐฐ์—ด, ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ, ํž™ ์œผ๋กœ ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด ์ค‘์—์„œ ํž™(heap)์œผ๋กœ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ํšจ์œจ์ ์ด๋‹ค. ์ž๋ฃŒ๊ตฌ์กฐ ‘ํž™(heap)’์ด๋ž€? ์™„์ „ ์ด์ง„ ํŠธ๋ฆฌ์˜ ์ผ์ข…์œผ๋กœ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์œ„ํ•˜์—ฌ ๋งŒ๋“ค์–ด์ง„ ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค. ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’..

Development Basic 2020. 6. 3. 23:59
Heap์— ๋Œ€ํ•ด์„œ

1. Heap์˜ ๊ธฐ๋ณธ๊ฐœ๋… ์ฐธ์กฐํ˜•์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๊ฐ–๋Š” ์ธ์Šคํ„ด์Šค, ๋ฐฐ์—ด, Object๋ฅผ ์ƒ์†ํ•˜๋Š” String ๋“ฑ์ด ์ €์žฅ๋˜๋Š” ์˜์—ญ์ด๋‹ค. ์ด๋•Œ ์ง€์—ญ๋ณ€์ˆ˜, ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” Stack ์˜์—ญ์˜ ๊ณต๊ฐ„์—์„œ ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋œ Heap ์˜์—ญ์˜ ์ฐธ์กฐ๊ฐ’์„ new์—ฐ์‚ฐ์ž๋ฅผ ํ†ตํ•ด ๋ฆฌํ„ด ๋ฐ›๋Š”๋‹ค. ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋Š” Heap์˜์—ญ์˜ ์ฐธ์กฐ ๊ฐ’์„ Stack ์˜์—ญ์˜ ๊ฐ์ฒด๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋‹ค. ์ด๋ ‡๊ฒŒ, ๋ฆฌํ„ด ๋ฐ›์€ ์ฐธ์กฐ๊ฐ’์„ ๊ฐ–๊ณ  ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ๋งŒ ํ•ด๋‹น ์ธ์Šคํ„ด์Šค๋ฅผ ํ•ธ๋“ค๋ง ํ•  ์ˆ˜๊ฐ€ ์žˆ๋‹ค. Heap์˜์—ญ์€ ์‚ฌ์šฉ์ž์— ์˜ํ•ด ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์ด ๋™์ ์œผ๋กœ ํ• ๋‹น๋˜๊ณ  ํ•ด์ œ๊ฐ€ ๋œ๋‹ค.

Development Basic 2020. 5. 28. 16:40
LIST