์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ์ฝ๋ฉํ ์คํธ
- ์์ฐ์ด์ฒ๋ฆฌ
- ๋ฐ์ดํฐ๋ถ์
- AWS
- Git
- ๋ฅ๋ฌ๋
- ์ธ๊ณต์ง๋ฅ
- ๋ฐ์ดํฐ ๋ถ์
- ๋น ๋ฐ์ดํฐ
- ํ์ด์ฌ
- ์ฝํ
- erp
- abap
- react
- ์๋ง์กด์น์๋น์ค
- ์๋ฐ์คํฌ๋ฆฝํธ
- ๋ฐฑ์ค
- AI
- github
- nlp
- DFS
- ํ๋ธ๋ก
- ํ๋ธ๋ฃจ
- ํ ์คํธ๋ง์ด๋
- ํ ์คํธ๋ถ์
- sap
- ๊นํ๋ธ
- tableau
- ์๊ณ ๋ฆฌ์ฆ
- ๋ฆฌ์กํธ
- Today
- Total
๋ชฉ๋ก์๋ฃ๊ตฌ์กฐ (3)
Hey Tech
๋ณธ ํฌ์คํ ์์๋ ์์ ์ด์ง ํธ๋ฆฌ(Complete Binary Tree) ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์์๋ด ๋๋ค. * ์์ ์ด์ง ํธ๋ฆฌ(Complete Binary Tree) ์๋ฃ๊ตฌ์กฐ๋? ์์ ์ด์ง ํธ๋ฆฌ๋ ๊ฐ ๋ ธ๋๊ฐ ์ต๋ 2๊ฐ์ ์์ ๋ ธ๋๋ฅผ ๊ฐ๋ ํธ๋ฆฌ ํํ์ ์๋ฃ๊ตฌ์กฐ๋ก์ ๋ง์ง๋ง ๋ ๋ฒจ์ ์ ์ธํ ๋ชจ๋ ๋ ธ๋๋ ์์ ํ ์ฑ์์ ธ ์์ด์ผ ํฉ๋๋ค. ๋ํ, ์ตํ๋จ ๋ ๋ฒจ์ ๋ ธ๋๋ ์ข์ธก๋ง ๋ ธ๋๊ฐ ์ฑ์์ ธ ์๊ฑฐ๋ ์ข์ธก๊ณผ ์ฐ์ธก ๋ชจ๋ ์ฑ์์ ธ ์์ด์ผ ํ๋ฉฐ, ๋ ธ๋๋ฅผ ์ฝ์ ํ ๋๋ ์ตํ๋จ ์ข์ธก ๋ ธ๋๋ถํฐ ์ฐจ๋ก๋๋ก ์ฝ์ ํด์ผ ํฉ๋๋ค(๊ทธ๋ฆผ 1 ์ฐธ๊ณ ). ๊ทธ๋ฆผ 1 ์ฐ์ธก ํธ๋ฆฌ๋ ๋ ธ๋ 12์ ์์ ๋ ธ๋๊ฐ ์ฐ์ธก์๋ง ์ฝ์ ๋์ด ์๊ธฐ ๋๋ฌธ์ ์์ ์ด์งํธ๋ฆฌ๋ผ๊ณ ํ ์ ์์ต๋๋ค. ํฌ์คํ ๋ด์ฉ์ ์ค๋ฅ๊ฐ ์์ ๊ฒฝ์ฐ ๋๊ธ ๋จ๊ฒจ์ฃผ์๋ฉด ๊ฐ์ฌ๋๋ฆฌ๊ฒ ์ต๋๋ค. ๊ทธ๋ผ ์ค๋๋ ๊ฑด๊ฐํ ํ๋ฃจ ๋ณด๋ด์๊ธธ..
๐ ๋ชฉ์ฐจ 1. ํ ์๋ฃ๊ตฌ์กฐ 2. ํ ์๋ฃ๊ตฌ์กฐ๋ ์ธ์ ์ฌ์ฉํ ๊น? 3. ํ ์๋ฃ๊ตฌ์กฐ์ ์ข ๋ฅ 4. ํ ์๋ฃ๊ตฌ์กฐ์ ๋์ ๊ณผ์ (์ต์ ํ) 4.1. ๋ฐ์ดํฐ ์ฝ์ 4.2. ๋ฐ์ดํฐ ์ญ์ 5. ํ ์๋ฃ๊ตฌ์กฐ ๊ตฌํ(Python) 5.1. heapq ์ ์ 5.2. ํ ๋ฐ์ดํฐ ์ฝ์ (heappush) 5.3. ํ ๋ฐ์ดํฐ ์ญ์ (heappop) 5.4. ๋ฆฌ์คํธ๋ฅผ ํ์ผ๋ก ๋ณ๊ฒฝ(heapify) 1. ํ ์๋ฃ๊ตฌ์กฐ ํ ์๋ฃ๊ตฌ์กฐ๋ ๊ฐ์ฅ ๋์(ํน์ ๊ฐ์ฅ ๋ฎ์) ์ฐ์ ์์(e.g., ์ต๋๊ฐ, ์ต์๊ฐ)๋ฅผ ๊ฐ์ง๋ ๋ ธ๋๋ฅผ ๋น ๋ฅด๊ฒ ์ฐพ์๋ด๊ธฐ ์ํด ๊ณ ์๋ *์์ ์ด์งํธ๋ฆฌ(Complete Binary Tree) ๊ธฐ๋ฐ์ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ๋ฐ๋ผ์ ๊ฐ์ฅ ๋์(๋๋ ๊ฐ์ฅ ๋ฎ์) ์ฐ์ ์์๋ฅผ ๊ฐ์ง๋ ๋ ธ๋๊ฐ ํญ์ ๋ฃจํธ ๋ ธ๋(root node)์ ์ค๋ ๊ฒ ํน์ง์ ๋๋ค. * ์..
๋ณธ ํฌ์คํ ์์๋ ์คํ(Stack) ์๋ฃ๊ตฌ์กฐ์ ๋ํด ์์๋ด ๋๋ค. ๐ ๋ชฉ์ฐจ 1. ์คํ(Stack) ์๋ฃ๊ตฌ์กฐ๋? 2. ์คํ ๋์ ์์ 3. ์คํ ๊ตฌํ(Python) 1. ์คํ(Stack) ์๋ฃ๊ตฌ์กฐ๋? ์คํ ์๋ฃ๊ตฌ์กฐ๋ ๋จผ์ ๋ค์ด์จ ๋ฐ์ดํฐ๊ฐ ๋ฆ๊ฒ ๋๊ฐ๋ ํํ์ ์๋ฃ๊ตฌ์กฐ๋ก์ ์ ์ ํ์ถ(ๅ ๅ ฅๅพๅบ) ๋ฐฉ์์ ๋๋ค. ์คํ ์๋ฃ๊ตฌ์กฐ๋ ์๋์ ๊ทธ๋ฆผ 1 ๊ณผ ๊ฐ์ด ์ ๊ตฌ์ ์ถ๊ตฌ๊ฐ ๋์ผํ ํํ๋ก ํํํ ์ ์์ผ๋ฉฐ "๋ฐ์ค ์๊ธฐ"๋ฅผ ์ฐ์ํ์๋ฉด ๊ธฐ์ตํ๊ธฐ ํธํฉ๋๋ค. ์คํ ์๋ฃ๊ตฌ์กฐ๋ ์๋ 2๊ฐ์ง ํต์ฌ์ ์ธ ํจ์๋ก ๋์ํฉ๋๋ค. ๋ฐ์ดํฐ ์ฝ์ (Push) ๋ฐ์ดํฐ ์ญ์ (Pop) ์คํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ ๋๋ ์ค๋ฒํ๋ก์ฐ(Overflow)์ ์ธ๋ํ๋ก์ฐ(Underflow) ๋ฐ์์ ์ ์ํด์ผ ํฉ๋๋ค. ์ค๋ฒํ๋ก์ฐ: ์ด๋ ํ ์๋ฃ๊ตฌ์กฐ๊ฐ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๋ฅผ ์ด..