์ด ์์ฑ๊ณผ ๊ท์น์ ๊ธฐ๋ฐ์ผ๋ก ์ฝ์ ์ฐ์ฐ๋ ์ด๋ฃจ์ด์ง๋ ์ ์ด๋๊ณ ์์ํ์!
์์ ์์ฑ๊ณผ ๊ท์น์์ ์ฐ๋ฆฌ๋ ์ฝ์
์ฐ์ฐ์ ํ ๋ ์ด๋ค ๋ถ๋ถ์ ์ ๊ฒฝ์จ์ฃผ์ด์ผ ํ๋ ์ง ์ ์ ์๋ค.
1. ์ถ๊ฐํ๋ ๋
ธ๋์ ์์ red์ด๋ค. 2. ์ถ๊ฐ๋ฅผ ํ๊ณ ์์ฑ์ ์๋ฐฐํ์ง ์์๋์ง ํ์ธํด์ผ ํ๋ค.
๊ทธ๋ฆฌ๊ณ RB Tree์ ์์ฑ์ ๋ณด๋ฉด ์ฝ์ ์ ์ด๋ค ์์ฑ์ด ์๋ฐ๋ ์ง ์์ํ ์ ์๋ค.
์ฝ์
ํ์๋ ์๋ ๋ ๊ฐ์ง ์์ฑ์ด ์๋ฐ๋ ์ ์๋ค.
2๋ฒ "root ๋
ธ๋๋ black์ด๋ค." ์์ฑ
4๋ฒ "reds ๋
ธ๋๋ ์ฐ๋ฌ์ ๋ํ๋ ์ ์๋ค." ์์ฑ
์ฝ์
ํ๋ ์์น๊ฐ root์ผ ๋ 2๋ฒ์ ์๋ฐ, ์ฝ์
ํ๋ ์์น์ ๋ถ๋ชจ ๋
ธ๋๊ฐ red์ผ ๋ 4๋ฒ์ ์๋ฐ๋๋ค.
๋ฐ๋ผ์ ์ด ๊ฒฝ์ฐ์๋ Insert-fixup ์ ์ฐจ๋ฅผ ํตํด ๋ค์ ๊ท ํ์ ์ ์งํด์ผ ํ๋ค.
์ด์ ๋ชจ๋ case์์ ์ด๋ป๊ฒ fixup ์ ์ฐจ๊ฐ ์งํ๋๋์ง ์์๋ณด์!
๊ณ์ ๊ฐ์กฐํ๋ค์ํผ, ์ฝ์
๋๋๋ผ๋ ์์ฑ์ด ์ ์ง๋๋๋ก ํ๋ ๊ฒ์ด ์ค์ํ๋ค.
์ฝ์
์ ๋ฌด์กฐ๊ฑด red๋ก ์ด๋ฃจ์ด์ง๋ค.

red ๋ ธ๋๋ก ์ฝ์ ์ด ์ด๋ฃจ์ด์ง์ง๋ง, ์์ฑ 2๋ฒ("root ๋ ธ๋๋ black์ด๋ค.")์ ๋ง์กฑ์ํค๊ธฐ ์ํด ๋ฃจํธ์ ์์ black์ผ๋ก ๋ฐ๊พธ์ด์ค๋ค.

์ฝ์
ํ ๋
ธ๋๋ red์ด๊ธฐ ๋๋ฌธ์ ์ฝ์
ํด์ค ์ดํ์ ๋ณ๋์ ์กฐ์ ์ด ํ์ ์๋ค.
CASE 2๊ณผ ์ผ๋งฅ์ํตํ๋ค.
์ด๋ค ๋
ธ๋๋ฅผ ์ฝ์
ํ๋ ๊ณผ์ ์ค์ root ๋
ธ๋๊ฐ red๊ฐ ๋๋ ๊ฒฝ์ฐ,
์์ฑ 2๋ฒ("root ๋
ธ๋๋ black์ด๋ค.")์ ๋ง์กฑ์ํค๊ธฐ ์ํด ๋ฃจํธ์ ์์ black์ผ๋ก ๋ฐ๊พธ์ด์ค๋ค.
์ด๋ ์๋ CASE 4์์๋ ๋ฑ์ฅํ๋ค.

์ฝ์ ํ ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋์ ์ผ์ด ๋ ธ๋๊ฐ ์ ๋ถ red๋ผ๋ฉด ์์ฑ 4๋ฒ์ ์๋ฐฐ๋๋ค.(red ๋ ธ๋๋ ์ฐ๋ฌ์ ๋ํ๋ ์ ์๋ค.)
์ด ๋ ๋ ์ฌ๋ฆด ์ ์๋ ๊ท์น์ด ์๋ค.
"5๋ฒ ์์ฑ์ ๋ง์กฑํ๊ณ ์๋ค๋ฉด ๋ ์๋
๊ฐ ๊ฐ์ ์์ ๊ฐ์ง ๋, ๋ถ๋ชจ์ ๋ ์๋
์ ์์ ๋ฐ๊ฟ๋ ์ฌ์ ํ ์์ฑ์ ๋ง์กฑํ๋ค."
์ด์ ๋ฐ๋ผ
1. ๋ถ๋ชจ/์ผ์ด ๋
ธ๋(์ ๊ท์น์์ ๋ ์๋
)์ ์, ์กฐ๋ถ๋ชจ ๋
ธ๋(์ ๊ท์น์์ ๋ถ๋ชจ)์ ์์ ๋ฐ๊ฟ์ฃผ์ด๋ ๊ท ํ์ ์ ์ง๋๋ค.
2. root๋ black์ด์ด์ผ ํ๋ ์์ฑ์ ๋ฐ๋ผ root์ ์์ ๋ค์ black์ผ๋ก ๋ณ๊ฒฝํด์ค๋ค.(CASE3)
๋จ, ์กฐ๋ถ๋ชจ(20)์ ๋ถ๋ชจ ๋
ธ๋๊ฐ ์กด์ฌํ๊ณ red ๋
ธ๋๋ผ๋ฉด ๋ ๋ค์ ์ด๋ CASE์ ์ํ๋ ์ง ํ๋จํ๊ณ ์ฌ์กฐ์ ์ ํด์ฃผ์ด์ผ ํ๋ค.

๋ด๋ถ ์์?
ํธ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋ดค์ ๋ ์กฐ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ๊บพ์ธ ๋ชจ์์ ์ ์ชฝ์ ์์ ๋
ธ๋๊ฐ ์๋ค๋ ์๋ฏธ์ด๋ค.
์ฆ, ์กฐ๋ถ๋ชจ์ ์ค๋ฅธ์ชฝ ์์ ๋
ธ๋์ ์ผ์ชฝ ์์ ๋
ธ๋๋ฅผ ์๋ฏธํ๋ค.
๋๋ ์กฐ๋ถ๋ชจ์ ์ผ์ชฝ ์์ ๋
ธ๋์ ์ค๋ฅธ์ชฝ ์์ ๋
ธ๋๋ฅผ ์๋ฏธํ๋ค.

์ด๋ ๊ฒ ๋ง์ด๋ค.
์ด ๋๋ ๋ถ๋ชจ ๋
ธ๋์ธ 10์ ์กฐ๋ถ๋ชจ ๋
ธ๋์ธ 20์ ์์น๋ก ๋ณด๋ด๋ ๊ฒ์ด ๋ชฉํ์ด๊ธฐ ๋๋ฌธ์(๊ท ํ์ ์ ์งํ๊ธฐ ์ํด) ์ฐ์ CASE 6์ ์กฐ๊ฑด์ผ๋ก ๋ง๋ค์ด์ค๋ค.
CASE 6์ ๊บพ์ธ ํํ์ ๋ด๋ถ ์์๋ฅผ ์ผ์ ํํ์ ์ธ๋ถ ์์๋ก ๋ฐ๊ฟ์ฃผ๋ ๊ฒ์ด๋ค.
๊ธ๋ก๋ ์ดํด๊ฐ ์ด๋ ค์ฐ๋ ๊ทธ๋ฆผ์ผ๋ก ๋ณด์

์ด์ 10 ๋
ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก CASE 6์ ์กฐ๊ฑด์ ๋ถํฉํ๋ค.
CASE 6์ ์ดํด๋ณด์.

์ธ๋ถ ์์?
ํธ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋ดค์ ๋ ์กฐ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ ํํ๋ก ์์ ๋
ธ๋, ์์ ๋
ธ๋๊ฐ ์๋ค๋ ์๋ฏธ์ด๋ค.
์ฆ, ์กฐ๋ถ๋ชจ์ ์ค๋ฅธ์ชฝ ์์ ๋
ธ๋์ ์ค๋ฅธ์ชฝ ์์ ๋
ธ๋๋ฅผ ์๋ฏธํ๋ค.
๋๋ ์กฐ๋ถ๋ชจ์ ์ผ์ชฝ ์์ ๋
ธ๋์ ์ผ์ชฝ ์์ ๋
ธ๋๋ฅผ ์๋ฏธํ๋ค.
์ด ๋๋ ์กฐ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก rotate๋ฅผ ์ํํ๋ค.
์์ ์์ ์์๋ ์ค๋ฅธ์ชฝ์ผ๋ก ํ์ ์์ผ, ๋ถ๋ชจ๋
ธ๋(15)๋ฅผ ์กฐ๋ถ๋ชจ๋
ธ๋(20)์ ์์น๋ก ์ด๋์ํจ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ถ๋ชจ ๋
ธ๋์ ์กฐ๋ถ๋ชจ ๋
ธ๋์ ์์ ๋ฐ๊ฟ์ค๋ค.


์์ ์์ ๋ฅผ ์ฐจ๋ก๋๋ก RB Tree์ ์ฝ์
ํด๋ณด์.










๋ณต์กํ๊ธด ํ์ง๋ง,