๊ทธ๋ฆผ์ผ๋ก ์ฝ๊ฒ ๋ฐฐ์ฐ๋ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ (์ฌํํธ)
์ด ๊ฐ์๋ฅผ ํตํด ๋น์ ํ ์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ์ ๋ฐฐ์ธ ์ ์์ต๋๋ค.
์๊ฐ์ 1,214๋ช
๋์ด๋ ์ด๊ธ
์๊ฐ๊ธฐํ ๋ฌด์ ํ

๋ค๋ฅธ ์๊ฐ์๋ค์ด ์์ฃผ ๋ฌผ์ด๋ณด๋ ์ง๋ฌธ์ด ๊ถ๊ธํ์ ๊ฐ์?
- ๋ฏธํด๊ฒฐ
ํ ์ฝ์ ์ ์ผ์ด์ค ๊ด๋ จํด์ ์ง๋ฌธ์ด ์์ต๋๋ค.
์๋ ํ์ธ์. ๊ฐ์๋. ์๋ฃ๊ตฌ์กฐ ์ ๋ฌธํธ์ ์ด์ด์ ์ฌํํธ์์ ๋ ๋ต์ต๋๋ค. ์ง๋ฌธ์ด ์์ด์ ๊ธ์ ๋จ๊ธฐ๊ฒ ์ต๋๋ค. // 3. la
์๊ณ ๋ฆฌ์ฆ์ด์ง๋ฏผ
ใป
4๋ฌ ์
1
61
2
- ๋ฏธํด๊ฒฐ
๋ฐ๋ณต๋ฌธ์ ๊ธฐ์ ์กฐ๊ฑด(while)/๊ฒฝ๊ณ์กฐ๊ฑด(for)์ ๋น ๋ฅด๊ฒ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ด ์์๊น์?
- ํ์ต ๊ด๋ จ ์ง๋ฌธ์ ๋จ๊ฒจ์ฃผ์ธ์. ์์ธํ ์์ฑํ๋ฉด ๋ ์ข์์! - ๋จผ์ ์ ์ฌํ ์ง๋ฌธ์ด ์์๋์ง ๊ฒ์ํด๋ณด์ธ์. - ์๋ก ์์๋ฅผ ์งํค๋ฉฐ ์กด์คํ๋ ๋ฌธํ๋ฅผ ๋ง๋ค์ด๊ฐ์. - ์ ๊น! ์ธํ๋ฐ ์๋น์ค ์ด์ ๊ด๋ จ
์๊ณ ๋ฆฌ์ฆHyo Kyun Lee
ใป
6๋ฌ ์
1
58
1
- ๋ฏธํด๊ฒฐ
์ด์งํ์ํธ๋ฆฌ/AVLํธ๋ฆฌ/RBํธ๋ฆฌ๋ฅผ ๋ฐ๋ผ๋ณด๋ ๊ด์
- ํ์ต ๊ด๋ จ ์ง๋ฌธ์ ๋จ๊ฒจ์ฃผ์ธ์. ์์ธํ ์์ฑํ๋ฉด ๋ ์ข์์! - ๋จผ์ ์ ์ฌํ ์ง๋ฌธ์ด ์์๋์ง ๊ฒ์ํด๋ณด์ธ์. - ์๋ก ์์๋ฅผ ์งํค๋ฉฐ ์กด์คํ๋ ๋ฌธํ๋ฅผ ๋ง๋ค์ด๊ฐ์. - ์ ๊น! ์ธํ๋ฐ ์๋น์ค ์ด์ ๊ด๋ จ
์๊ณ ๋ฆฌ์ฆHyo Kyun Lee
ใป
6๋ฌ ์
1
68
2
- ๋ฏธํด๊ฒฐ
Red-Black ํธ๋ฆฌ - ๊ฐ๋ (์ฝ์ ) 4๋ถ 48์ด์ 21์ ๋์ด์ ๊ฐ์ด ์ค๋ช ๊ณผ ๊ทธ๋ฆผ์ด ๋ค๋ฅธ๊ฑฐ ๊ฐ์ต๋๋ค.
- ํ์ต ๊ด๋ จ ์ง๋ฌธ์ ๋จ๊ฒจ์ฃผ์ธ์. ์์ธํ ์์ฑํ๋ฉด ๋ ์ข์์! - ๋จผ์ ์ ์ฌํ ์ง๋ฌธ์ด ์์๋์ง ๊ฒ์ํด๋ณด์ธ์. - ์๋ก ์์๋ฅผ ์งํค๋ฉฐ ์กด์คํ๋ ๋ฌธํ๋ฅผ ๋ง๋ค์ด๊ฐ์. - ์ ๊น! ์ธํ๋ฐ ์๋น์ค ์ด์ ๊ด๋ จ
์๊ณ ๋ฆฌ์ฆ์์ฑ์ฑ
ใป
8๋ฌ ์
0
38
2
- ํด๊ฒฐ
์ต๋ ์ ๋ ๋ฌธ์ (ํฌ๋ ํ์ปค์จ ์๊ณ ๋ฆฌ์ฆ)
์๋ ํ์ธ์. ๊ฐ์ฌ๋.ํฌ๋ ํ์ปค์จ ์๊ณ ๋ฆฌ์ฆ์์ ์ญ๋ฐฉํฅ ์์๊ด์ ์ด๋ ์์น์์ ์ฌ์ฉํ๋์ง ์ด๋ป๊ฒ ์ ํ๋์?๋์3์์ ๋์2์๋ง ์ญ๋ฐฉํฅ ์์๊ด์ ๋ง๋๋ ์ ํ์
์๊ณ ๋ฆฌ์ฆ์ ์ผ์ฉ
ใป
10๋ฌ ์
0
110
2
- ๋ฏธํด๊ฒฐ
Trie ์๋ฃ๊ตฌ์กฐ ๊ด๋ จ ์ง๋ฌธ
๊น์น์ฐ๊ฐ๋ฅผ Trie ์๋ฃ๊ตฌ์กฐ์ ๋ง๊ฒ ์ฝ์ ํ๋ ๊ณผ์ ์ค "์น" ๋ ธ๋์ ๊ฐ์ {"" : 0,"์ฐ" : } ์ด๋ ๊ฒ ๋ค์ด๊ฐ๋ ๊ฑธ๋ก ๊ทธ๋ฆผ์์ ๋ณด์ด
์๊ณ ๋ฆฌ์ฆLee jae seung
ใป
์ผ ๋ ์
0
84
2
- ํด๊ฒฐ
RedBlack ๊ตฌํ ์ค NilNode์ ๋ํด์
์ฝ๋ ์์์ ์ธ์ NilNode๋ฅผ ์ฌ์ฉํ๋ ์ง ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. ์ผ๋จ ๊ธฐ๋ณธ์ ์ผ๋ก BinaryTree class ๋ ธ๋๋ฅผ ์์ฑํ๊ณ Insert ๋ Remove์์๋ ์ฌ์ฉ์ด ์๋ ๊ฒ ๊ฐ์ต๋๋ค. </li
์๊ณ ๋ฆฌ์ฆLee jae seung
ใป
์ผ ๋ ์
1
73
2
- ๋ฏธํด๊ฒฐ
ํฐ๋ฏธ๋๋ ธ๋๋ ๋ฃจํธ๋ ธ๋?
์๋ ํ์ธ์, ์๋ฐ์ ํด๋ฝ4๊ธฐ ์ ์์ ์ ๋๋ค. ์๋ธํธ๋ฆฌ ์ค๋ช ํด์ฃผ์ค ๋, ํฐ๋ฏธ๋ ๋ ธ๋๋ ๋ฃจํธ๋ ธ๋ ๋ง ์๋ ํธ๋ฆฌ๋ก ๋ณผ ์ ์๋ค๊ณ ํ์ จ์ต๋๋ค
์๊ณ ๋ฆฌ์ฆ์ ์์
ใป
์ผ ๋ ์
0
122
2
- ๋ฏธํด๊ฒฐ
ํธ๋ฆฌ์ ์กฐ๊ฑด์ด ํท๊ฐ๋ฆฝ๋๋ค.
๊ทธ๋ํ - ๊ฐ๋ (2:04)<img src="https://cdn.inflearn.com/public/files/posts/c3b20a5f-a10c-490a-8ef4-6efe5cf36f5a/804caa9a-b77
์๊ณ ๋ฆฌ์ฆjhworld
ใป
์ผ ๋ ์
0
63
1
- ๋ฏธํด๊ฒฐ
AVL ํธ๋ฆฌ ๊ตฌํ ์ค getUnBalanceNode ํจ์
- ํ์ต ๊ด๋ จ ์ง๋ฌธ์ ๋จ๊ฒจ์ฃผ์ธ์. ์์ธํ ์์ฑํ๋ฉด ๋ ์ข์์! - ๋จผ์ ์ ์ฌํ ์ง๋ฌธ์ด ์์๋์ง ๊ฒ์ํด๋ณด์ธ์. - ์๋ก ์์๋ฅผ ์งํค๋ฉฐ ์กด์คํ๋ ๋ฌธํ๋ฅผ ๋ง๋ค์ด๊ฐ์. - ์ ๊น! ์ธํ๋ฐ ์๋น์ค ์ด์ ๊ด๋ จ ๋ฌธ์๋ 1:1 ๋ฌธ์ํ๊ธฐ๋ฅผ ์ด์ฉํด์ฃผ์ธ์.
์๊ณ ๋ฆฌ์ฆ์์ฑ์ ์์
ใป
0
141
2
- ๋ฏธํด๊ฒฐ
AVL ํธ๋ฆฌ์์ ํ์ ์คํ ํจ์ ๊ตฌํ ์ ์ง๋ฌธ
17:15๋ถ์ฏคRRํ์ ๊ณผ LRํ์ ์ ๊ตฌ๋ถํ๋ ๋ฐฉ๋ฒ์์data๊ฐ targetNode์ ์ผ์ชฝ ์์๋ ธ๋๋ณด๋ค ์์ ๊ฒฝ์ฐ๊ฐ RRํ์ ์ด๋ผ๊ณ ๋ง์ํด์ฃผ์ จ๋๋ฐ์์ ๊ทธ๋ฆผ์ LRํ์ ๋ data(1)์ด targetNode์ ์ผ์ชฝ ์์๋ ธ๋(3)๋ณด๋ค
์๊ณ ๋ฆฌ์ฆlyy
ใป
0
133
2
- ๋ฏธํด๊ฒฐ
๋ ๋๋ธ๋ํธ๋ฆฌ ๊ฐ๋ 4:20์ด์ 13๋ฒ ๋ ธ๋๋ Nill ๋ ธ๋์ ์ฐ๊ฒฐ๋๋ฉด ์๋๋ ๊ฒ ์๋๊ฐ์?
- ํ์ต ๊ด๋ จ ์ง๋ฌธ์ ๋จ๊ฒจ์ฃผ์ธ์. ์์ธํ ์์ฑํ๋ฉด ๋ ์ข์์! - ๋จผ์ ์ ์ฌํ ์ง๋ฌธ์ด ์์๋์ง ๊ฒ์ํด๋ณด์ธ์. - ์๋ก ์์๋ฅผ ์งํค๋ฉฐ ์กด์คํ๋ ๋ฌธํ๋ฅผ ๋ง๋ค์ด๊ฐ์. - ์ ๊น! ์ธํ๋ฐ ์๋น์ค ์ด์ ๊ด๋ จ ๋ฌธ์๋ 1:1 ๋ฌธ์ํ๊ธฐ๋ฅผ ์ด์ฉํด์ฃผ์ธ์.
์๊ณ ๋ฆฌ์ฆ๊นํํ
ใป
0
177
1
- ํด๊ฒฐ
data ๋งค๊ฐ๋ณ์ ์ค๋ฅ
removeHelper ํจ์์์ data๋ ์๋ชป ์์ฑ๋ ๊ฒ์ด๋ ๋งค๊ฐ๋ณ์์์ ์ ์ธํด๋ ์ข๋ค๊ณ ํ์ จ๋๋ฐ์ ์ธ ํ ํ ์คํธํ๋ฉด remove ๋ถ๋ถ์ removeHelper ํจ์์์ parentNode.getLeftSubTree is not a function ๋ผ
์๊ณ ๋ฆฌ์ฆlyy
ใป
1
233
1
- ํด๊ฒฐ
AVL ํธ๋ฆฌ ํ์ ์ง๋ฌธ
์๋ ํ์ธ์. ์ ์๋~[AVLํธ๋ฆฌ - ๊ฐ๋ ] ๊ฐ์ - ํ์ ๊ด๋ จ ์ง๋ฌธ์์ต๋๋ค.7:00 ์ฆ์LLํ์ , RRํ์ ํผ์ ธ์๋ ๋ ธ๋ ์ด๋ฏธ์ง๊ฐ ๋ฐ๋๋ก ๋๊ฒ ์๋์ง? ๊ถ๊ธํฉ๋๋ค.ํท๊ฐ๋ ค์ ๊ฒ์ํด๋ณด๋LL์ด๋ผ๋ ์ฉ์ด๊ฐ ํ
์๊ณ ๋ฆฌ์ฆ์ ์ฐํ
ใป
1
440
1
- ๋ฏธํด๊ฒฐ
๋ ๋ํ๋ํธ๋ฆฌ์๋์ด
๋๋ ธ๋๊ธฐ์ค์ผ๋ก 21์
์๊ณ ๋ฆฌ์ฆzzzzz
ใป
1
286
1
- ํด๊ฒฐ
Red-Black ํธ๋ฆฌ ์ ๊ฑฐ 2๋ฒ์งธ
- ํ์ต ๊ด๋ จ ์ง๋ฌธ์ ๋จ๊ฒจ์ฃผ์ธ์. ์์ธํ ์์ฑํ๋ฉด ๋ ์ข์์! - ๋จผ์ ์ ์ฌํ ์ง๋ฌธ์ด ์์๋์ง ๊ฒ์ํด๋ณด์ธ์. - ์๋ก ์์๋ฅผ ์งํค๋ฉฐ ์กด์คํ๋ ๋ฌธํ๋ฅผ ๋ง๋ค์ด๊ฐ์. - ์ ๊น! ์ธํ๋ฐ ์๋น์ค ์ด์ ๊ด๋ จ ๋ฌธ์๋ 1:1 ๋ฌธ์ํ๊ธฐ๋ฅผ ์ด์ฉํด์ฃผ์ธ์.
์๊ณ ๋ฆฌ์ฆ๊นํ์ง
ใป
1
308
2
- ํด๊ฒฐ
Red-Black ํธ๋ฆฌ - ๊ฐ๋ (์ ๊ฑฐ) ์ง๋ฌธ๋๋ฆฝ๋๋ค.
<img src="https://cdn.inflearn.com/public/files/posts/12a2cb5e-a236-4e79-9e54-a7d6326062df/แแ ณแแ ณแ แ ตแซแแ ฃแบ2023-05-05แแ ฉแแ ฎ3.02.25.png" alt="แแ ณแแ ณแ แ ตแซแแ ฃแบ 202
์๊ณ ๋ฆฌ์ฆํฉ์ ์
ใป
1
494
1
- ํด๊ฒฐ
์ด์ง ํ์ ํธ๋ฆฌ - ์ ๊ฑฐ ๊ตฌํ ์ง๋ฌธ๋๋ฆฝ๋๋ค.
์์ ๋ ธ๋๊ฐ ๋ชจ๋ ์กด์ฌํ๋ ๊ฒฝ์ฐ์ ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ์ ์ ์ค์์์ ์ผ ๋ง์ง๋ง fakeParentRootNode ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์์ ์ง๋ฌธ์ด ์์ต๋๋ค.์ ๊ฑฐ๋ฅผ ํ ๋ ๊ฐ์ ๋ณ๊ฒฝํ๋ ๋ฐฉ์์ผ๋ก ์งํํ๋ค๋ณด๋ ๋ฃจํธ๋ ธ๋๊ฐ ์ ๊ฑฐ๊ฐ ๋๋ค๊ณ ํ๋๋ผ๋ fakePa
์๊ณ ๋ฆฌ์ฆํฉ์ ์
ใป
1
415
1
- ํด๊ฒฐ
BFS ์ง๋ฌธ ์์ต๋๋ค.
let visited_vertices = []; visited_vertices[vertex.value] = true;BFS
์๊ณ ๋ฆฌ์ฆalgorithm๊น์๋ฏผ
ใป
1
248
1
- ํด๊ฒฐ
else if ์ง๋ฌธ ์์ต๋๋ค.
ํ ์ฝ์ ์์ getInsertingParent(){ if(this.lastInsertedNode.getParent() == null){ return this.lastInserte
์๊ณ ๋ฆฌ์ฆalgorithm๊น์๋ฏผ
ใป
1
372
2






