DS_04
- 1. REPORT
Project #4: ์ํธ์ฐธ์กฐ ์์ฑ๊ธฐ
C1
๊น๋ฌด๊ฒฝ
๋ฐํ์
๊น์ ํ
๊น์ฌ๊ธฐ
๊น์ข
์ง
- 2. ๋ชฉ ์ฐจ
1. ํ ๋ก ์ ํธ ๊ฐ ์
2. ์ ์ฒด ์ผ ์
3. ํ ์ ๋ก
4. ์กฐ ์ฌ ์ ๋ฃ
5. ์ ๊ณ ๋ฆฌ ์ฆ
6. ๊ฒฐ ๊ณผ ์ ์ค
- 3. 1. ํ๋ก์ ํธ ๊ฐ์
1) ๋ชฉํ
์๋ฃ๊ตฌ์กฐ์์ ํธ๋ฆฌ์ ์ฌ์ฉ๋ฒ์ ์ ์ ์๋ค.
2) ๊ณผ์
โ ํ์ผ์ ์ฝ์ด์ ๊ทธ ์์ ์๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ๋ค์๊ณผ ๊ฐ์ ํ์์ผ๋ก ์ํ๋ฒณ ์์ผ๋ก ์ถ๋ ฅํฉ๋๋ค.
๋จ์ด๊ฐ ๋ํ๋
๋จ์ด ๋จ์ด์ ๋น๋์
์ค ๋ฒํธ
โก ์ฐ๋ฆฌ๊ฐ ๋ง๋๋ ์ํธ์ฐธ์กฐ ์์ฑ๊ธฐ๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ณํ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ Did, did๋ ๊ฐ์
๋ฌธ์๋ก ์ทจ๊ธํฉ๋๋ค.
โข ์๋ฅผ๋ค์ด ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ฅ ๋ ์ค์ด ๋ค์ด์๋ ํ์ผ์ ์ํธ์ฐธ์กฐ ์์ฑ๊ธฐ๋ก ๋๋ฆฐ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ
๊ฐ์ต๋๋ค.
ex)
์
๋ ฅ:
1. Twas brilling and the slithy toves
2. Did gyre and gimble in the qabe
์ถ๋ ฅ:
Word Count Lines
and 2 1 2
brilling 1 1
did 1 2
gimble 1 2
gyre 1 2
in 1 2
slithy 1 1
the 2 1 2
toves 1 1
twas 1 2
wabe 1 2
Total 11
โฃ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๊ธฐ ์ํด์ ์ด๋ ํ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํด๋ ๋จ
โค ํ์ผ์ ํ์ฑํ ๋์์ ํ์ผ์ ์ํธ์ฐธ์กฐ๋ฅผ ์์ฑํ๊ธฐ ์ํด์ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ผ.
- 4. 2. ์ ์ฒด ์ผ์
์ผ ์ ๋ด ์ฉ
2012. 05. 01 ํ ์กฐ์๋ณ ์
๋ฌด ๋ถ๋ด ๋ฐ ๊ณํ์์ฑ
~ 2012. 05. 08 ํ ์๋ฃ์กฐ์ฌ ๋ด์ฉ ๋ฐํ ๋ฐ ๊ฐ๋
์ ๋ฆฌ
~ 2012. 05. 10 ๋ชฉ AVLํธ๋ฆฌ์ ๊ดํด ํ ์ ๋ฐ ํ์ํ ์๊ณ ๋ฆฌ์ฆ ๋ด์ฉ ํ ์
~ 2012. 05. 15 ํ ์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ ๋ฐ ์์ค ๊ฒํ
~ 2012. 05. 18 ๊ธ ์ต์ข
๋ณด๊ณ ์ ๊ฒํ , ๋ณด์ถฉ ๋ฐ ์ ์ถ
3. ํ ์ ๋ก
Project #4: 1st
์ผ ใ ์ 2012. 05. 01 ํ ์ฅ ์ ์ฐฝ์๋ 55110
ํ๋ก์ ํธ์ ๋ํ ๋ฌธ์ ํ์
-ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ํ์ผ์ ์ฝ์ด ๋จ์ด๋ฅผ ์ํ๋ฒณ์์ผ๋ก ์ ๋ ฌํ๊ณ
๋จ์ด์ ๋น๋์๋ฅผ ์ถ๋ ฅํ๊ณ ๋จ์ด๊ฐ ๋ํ๋ ์ค์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ค.
์ด๋ ํ ์ข
๋ฅ์ ํธ๋ฆฌ๋ฅผ ์ฌ์ฉํ ๊ฑด์ง์ ๋ํ์ฌ ํ ์
๊ฐ์๊ฐ ๊ณต๋ถํด ์ฌ ๋ด์ฉ์ ๋ํ์ฌ ํ์(์
๋ฌด๋ถ๋ด)
ํ์๋ด์ฉ
- ํ์ผ์ ์ฝ์ด์ค๋ ๋ฐฉ๋ฒ
- ํธ๋ฆฌ์ ๋ํ ๊ธฐ๋ณธ๊ฐ๋
& ํ๋ก์ ํธ ์ํ์ ์ ์ ํ ํธ๋ฆฌ ํํ ์ ๋ณ
- ํธ๋ฆฌ์ ๊ตฌํ, ๋ฌธ์์ด ์
๋ ฅ ๋ฐฉ๋ฒ ์กฐ์ฌ
- ์
๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ์ฐ์ ์์๋ฅผ ๋น๊ตํ ์ ์๋ ํจ์ ์กฐ์ฌ
- ์
๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ์์น(๋ผ์ธ๋๋ฒ)๋ฅผ ํํํ ์ ์๋ ์๋จ ์กฐ์ฌ
- ๋ฐธ๋ฐ์ค๋ ํธ๋ฆฌ์ ๊ด๋ จ๋ ํ๋ก๊ทธ๋จ ์์ค&์ ๋ณด ์กฐ์ฌ
์ฐธ ์ ์ ๊น๋ฌด๊ฒฝ, ๋ฐํ์, ๊น์ ํ, ๊น์ฌ๊ธฐ, ๊น์ข
์ง
- 5. Project #4: 2nd
์ผ ใ ์ 2012. 05. 08 ํ ์ฅ ์ ์ฐฝ์๋ 55516
ํ๋ก์ ํธ์ ํ์ํ ๋ฌธ์์ดํจ์์ ๋ํด ์กฐ์ฌํด์จ ๋ด์ฉ ๋ฐํ
-Strcmp : ๋ ๊ฐ์ ๋ฌธ์์ด์ ์ฌ์ ์ ์์๋ฅผ ๋น๊ตํ๋ค.
-strcpyใ๏ผ ๋ฌธ์์ด์ NULL๋ฌธ์๊ฐ ๋์ฌ ๋๊น์ง ๋ณต์ฌํ๋ ํจ์์
๋๋ค.
-strcat : ๋ฌธ์์ด๋ผ๋ฆฌ ์ฐ๊ฒฐํ๋ ํจ์
-cgets : ๋ฌธ์์ด์ ์
๋ ฅ๋ฐ์ ๋ฌธ์ ๋ฐฐ์ด str์ ์ ์ฅํ๋ ํจ์
ํธ๋ฆฌ์ ๊ด๋ จ๋ ์ฉ์ด์ ๊ฐ๋
์ ๋ฆฌ
๋
ธ๋ : ํธ๋ฆฌ๋ฅผ ๊ตฌ์ฑํ๋ ์์
๊ทผ ๋
ธ๋ : ์ต์์ ๋
ธ๋
ํ์๋ด์ฉ
๋๊ทธ๋ฆฌ : ๋
ธ๋๊ฐ ๊ฐ์ง๊ณ ์๋ ๊ฐ์ง์ ์
๋ ๋ฒจ : ์ต์์ ๋
ธ๋์์ ์ตํ์ ๋
ธ๋๊น์ง ๊ฐ๋๋ฐ ๊ฑฐ์ณ๊ฐ๋ ๋
ธ๋์ ์
๋ถ๋ชจ๋
ธ๋ : ์์์ ๋
ธ๋์ ์์๋
ธ๋
์์๋
ธ๋ : ์์์ ๋
ธ๋์ ํ์๋
ธ๋
ํ์ ๋
ธ๋ : ๋์ผํ ๋ถ๋ชจ๋ฅผ ๊ฐ์ง๋ ๋
ธ๋๋ค
์ ์ด์งํธ๋ฆฌ : ๋จ๋ง๋
ธ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ๋
ธ๋์ ์์๋
ธ๋๊ฐ ๋ ๊ฐ
ํฌํ์ด์งํธ๋ฆฌ : ์ ์ด์ง ํธ๋ฆฌ ์ค์์๋ ๋จ๋ง ๋
ธ๋์ ๋ ๋ฒจ์ด ๋ชจ๋ ๊ฐ๋ค.
์์ ์ด์งํธ๋ฆฌ : ํฌํ์ด์งํธ๋ฆฌ์์ ์ผ์ชฝ์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฒํธ๋ฅผ ๋ถ์ด๊ณ ์ง์์ง๊ณ
๋จ์๋ฒํธ๊ฐ ์ฐ์ํ๋ค๋ฉด ๋จ์ ๋
ธ๋๋ก ์ด๋ฃจ์ด์ง ํธ๋ฆฌ๋ ์์ ์ด์งํธ๋ฆฌ์
๋๋ค.
๋ณ์งํธ๋ฆฌ : ๋ณ์ง ํธ๋ฆฌ๋ ๋จ๋ง ๋
ธ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ๋
ธ๋์ ์์์ด ํ๋ ๋ฐ์ ์๋
๋
ธ๋
์ฐธ ์ ์ ๊น๋ฌด๊ฒฝ, ๋ฐํ์, ๊น์ ํ, ๊น์ฌ๊ธฐ, ๊น์ข
์ง
Project #4: 3rd
์ผ ใ ์ 2012. 05. 10 ๋ชฉ ์ฅ ์ ์ฐฝ์๋ 55516
๋ฐฐ์ดํธ๋ฆฌ๋ฅผ ์ด์ฉํ ํ์ ๋ ฌ์ ๋ํด ๋
ผ์
- ๋ฐฐ์ดํธ๋ฆฌ๋ฅผ ์ด์ฉํ ํ์ ๋ ฌ์ ์ด์ฉํด ๋ฌธ์๋ฅผ ๋ฐฐ์ดํ ์ ์์ผ๋ ๋ฌธ์์ด์ ์ ๋ ฌ์
๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๊ธฐ๊ฐ.
๊ฐ๊ฐ์ ๋ฌธ์์ด์ ๋ผ์ธ๋๋ฒ๋ฅผ ๋งค๊ธฐ๊ธฐ ์ํด ํ
์คํธ ํ์ผ์ ํ์ค์ฉ ์ฝ์ด์ค๋ ํจ์ ๋ค
๋ก ๋ผ์ธ ์นด์ดํฐ๋ฅผ ์ฌ๋ฆฌ๊ธฐ๋ก ํจ.( -> ๋ฐฐํฌ๋ ์์ค์ ๋ค์ด๊ฐ ์๋ ๋ด์ฉ)
ํ์๋ด์ฉ
๋ฐธ๋ฐ์ค๋ ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ ์
- ๊ต์๋์ด ์ธ๊ธํ์ AVLํธ๋ฆฌ์ ๋ํด ๊ณต๋ถํ๊ณ ๊ฐ๊ฐ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ(LL, RR,
RL ,LR)์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋
ผ์
๊ทธ ์ธ์ ํ์ํ๋ค๊ณ ์ธ๊ธ๋ ๋ด์ฉ๋ค์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ๋
ผ์
์ฐธ ์ ์ ๊น๋ฌด๊ฒฝ, ๋ฐํ์, ๊น์ ํ, ๊น์ฌ๊ธฐ, ๊น์ข
์ง
- 6. Project #4: 4th
์ผ ใ ์ 2012. 05. 10 ๋ชฉ ์ฅ ์ ์ฐฝ์๋ 55516
๋ฐฐ์ดํธ๋ฆฌ๋ฅผ ์ด์ฉํ ํ์ ๋ ฌ์ ๋ํด ๋
ผ์
- ๋ฐฐ์ดํธ๋ฆฌ๋ฅผ ์ด์ฉํ ํ์ ๋ ฌ์ ์ด์ฉํด ๋ฌธ์๋ฅผ ๋ฐฐ์ดํ ์ ์์ผ๋ ๋ฌธ์์ด์ ์ ๋ ฌ์
๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๊ธฐ ๋๋ฌธ์ ๊ธฐ๊ฐ.
๊ฐ๊ฐ์ ๋ฌธ์์ด์ ๋ผ์ธ๋๋ฒ๋ฅผ ๋งค๊ธฐ๊ธฐ ์ํด ํ
์คํธ ํ์ผ์ ํ์ค์ฉ ์ฝ์ด์ค๋ ํจ์ ๋ค
๋ก ๋ผ์ธ ์นด์ดํฐ๋ฅผ ์ฌ๋ฆฌ๊ธฐ๋ก ํจ.( -> ๋ฐฐํฌ๋ ์์ค์ ๋ค์ด๊ฐ ์๋ ๋ด์ฉ)
ํ์๋ด์ฉ
๋ฐธ๋ฐ์ค๋ ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ ์ํ ํ ์
- ๊ต์๋์ด ์ธ๊ธํ์ AVLํธ๋ฆฌ์ ๋ํด ๊ณต๋ถํ๊ณ ๊ฐ๊ฐ์ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ(LL, RR,
RL ,LR)์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋
ผ์
๊ทธ ์ธ์ ํ์ํ๋ค๊ณ ์ธ๊ธ๋ ๋ด์ฉ๋ค์ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ๋
ผ์
์ฐธ ์ ์ ๊น๋ฌด๊ฒฝ, ๋ฐํ์, ๊น์ ํ, ๊น์ฌ๊ธฐ, ๊น์ข
์ง
Project #4: 5th
์ผ ใ ์ 2012. 05. 15 ํ ์ฅ ์ ์ฐฝ์๋ 55516
์๊ณ ๋ฆฌ์ฆ ์ ๋ฆฌ
ํ์๋ด์ฉ
๋ฐฐํฌ๋ ์์ค์ ๋ํด ๊ณต๋ถํด์จ ๋ด์ฉ ์ ๋ฆฌ
์ฐธ ์ ์ ๊น๋ฌด๊ฒฝ, ๋ฐํ์, ๊น์ ํ, ๊น์ฌ๊ธฐ, ๊น์ข
์ง
4. ์กฐ ์ฌ ์ ๋ฃ
1) ์ด ์ง ํธ ๋ฆฌ
์ด์งํธ๋ฆฌ(BinaryTree)
์ด์งํธ๋ฆฌ(BinaryTree)
- ์ผ๋ฐ์ ์ธ ํธ๋ฆฌ๋ ํ ๋
ธ๋๊ฐ N๊ฐ์ ์์์ ๊ฐ์ง ์ ์์ง๋ง ์ด์งํธ๋ฆฌ์ ๊ฒฝ์ฐ ํ ๋
ธ๋๊ฐ ์ต๋ 2๊ฐ์ ์์๋ง ๊ฐ
์ง ์ ์๋ค.
- ๋ค์ํ ๋ถ์ผ์ ํ์ฉ๋๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์์์ ํธ๋ฆฌ ํํ๋ก ํํํ์ฌ ๊ณ์ฐํ๊ฒ ํ๋ ์์ ์ด์ง ํธ๋ฆฌ(Expression
Binary Tree),
์์ฃผ ๋น ๋ฅธ ๋ฐ์ดํฐ ๊ฒ์์ ๊ฐ๋ฅ์ผ ํ๋ ์ด์ง ํ์ ํธ๋ฆฌ(Binary Search Tree) ๋ฑ๋ฑ.
- ์ด์งํธ๋ฆฌ์ ์ข
๋ฅ : ํฌํ ์ด์ง ํธ๋ฆฌ(Full Binary Tree), ์์ ์ด์ง ํธ๋ฆฌ(Complete Binary Tree), ๋์ด ๊ท ํ ํธ
๋ฆฌ(Height Balanced Tree), ์์ ๋์ด ๊ท ํ ํธ๋ฆฌ(Completely Height Balanced Tree)
ํธ๋ฆฌ(Full
ํฌํ ์ด์ง ํธ๋ฆฌ(Full Binary Tree)
- ๋ชจ๋ ๋ ๋ฒจ์ ๋
ธ๋๊ฐ ๊ฝ ์ฐจ์๋ ์ด์ง ํธ๋ฆฌ.
- ๋จ๋ง ๋
ธ๋๋ฅผ ์ ์ธํ ๋ชจ๋ ๋
ธ๋์ ์ฐจ์๊ฐ 2์ธ ํํ๋ฅผ ๋งํ๋ค.
- 7. ํธ๋ฆฌ(Complete
์์ ์ด์ง ํธ๋ฆฌ(Complete Binary Tree)
- ๋จ๋ง ๋
ธ๋๋ค์ด ํธ๋ฆฌ์ ์ผ์ชฝ๋ถํฐ ์ฐจ๊ณก์ฐจ๊ณก ์ฑ์์ง ํํ.
- ๋ฌด์กฐ๊ฑด ์ผ์ชฝ๋ถํฐ ์ฑ์์ ธ ์์ด์ผ ํ๋ค.(์ผ์ชฝ ํ์ ํธ๋ฆฌ ์ค ํ๋๋ผ๋ ๋น์์ ธ์๋ค๋ฉด ํด๋น ์๋จ)
ํธ๋ฆฌ ์ํ๋ฒ
- ํธ๋ฆฌ ์ํ ๋ฐฉ๋ฒ์๋ 3๊ฐ์ง๊ฐ ์๋ค.
- ์ ์ ์ํ(Preorder Traversal), ์ค์ ์ํ(Inorder Traversal), ํ์ ์ํ(Postorder Traversal)
์ํ๋ฒ(Preorder
์ ์ ์ํ๋ฒ(Preorder Traversal)
1. ๋ฃจํธ ๋
ธ๋๋ถํฐ ์์ํด์ ์๋๋ก ๋ด๋ ค ์ค๋ฉด์
2. ์ผ์ชฝ ํ์ ํธ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธํ๊ณ ์ผ์ชฝ ํ์ ํธ๋ฆฌ์ ๋ฐฉ๋ฌธ์ด ๋๋๋ฉด
3. ์ค๋ฅธ์ชฝ ํ์ ํธ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธํ๋ ๋ฐฉ์
์ํ๋ฒ(Inorder
์ค์ ์ํ๋ฒ(Inorder Traversal)
- ํธ๋ฆฌ๋ ํ์ ํธ๋ฆฌ์ ์งํฉ์ด๋ผ๊ณ ํ ์ ์๊ณ ํ์ ํธ๋ฆฌ ์ญ์ ๋ ๋ค๋ฅธ ํ์ ํธ๋ฆฌ์ ์งํฉ์ด๋ผ๊ณ ํ ์ ์๋ค.
- ๋ฐ๋ผ์ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ํ์ํ ์ ์๋ค.
- 8. 1. ์ผ์ชฝ ํ์ ํธ๋ฆฌ๋ถํฐ ์์ํด์
2. ๋ฃจํธ๋ฅผ ๊ฑฐ์ณ
3. ์ค๋ฅธ์ชฝ ํ์ ํธ๋ฆฌ๋ฅผ ๋ฐฉ๋ฌธํ๋ ๋ฐฉ๋ฒ
- ์์ฉ ์ฌ๋ก : ์์ ํธ๋ฆฌ(Expression Tree), ์ค์ ํ๊ธฐ์
- (1 * 2) + (7 - 8)์ ์์ ํธ๋ฆฌ๋ก ํํํ๋ฉด ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ๋ํ๋ผ ์ ์๋ค.
์ํ๋ฒ(Postorder
ํ์ ์ํ๋ฒ(Postorder Traversal)
- ์ ์ ์ํ์ ๋ฐ๋
1. ์ผ์ชฝ ํ์ ํธ๋ฆฌ๋ถํฐ ์์ํด์
2. ์ค๋ฅธ์ชฝ ํ์ ๋
ธ๋๋ฅผ ๋ฐฉ๋ฌธ ํ
3. ๋ฃจํธ ๋
ธ๋๋ฅผ ๋ฐฉ๋ฌธํ๋ ๋ฐฉ๋ฒ.
- ์์ฉ ์ฌ๋ก : ํ์ ํ๊ธฐ์. ํ์ ์ํ๋ฒ์ ํตํด ์ถ๋ ฅ๋๋ ๋
ธ๋๋ฅผ ์ดํด๋ณด๋ฉด ํ์ ํ๊ธฐ์์ผ๋ก ๋ํ๋๋ค.
- 1 2 * 7 8 - +
<C๋ก ๊ตฌํํ ์ด์งํธ๋ฆฌ/ํธ๋ฆฌ ์ํ๋ฒ>
- 10. 2) AVL ํธ ๋ฆฌ
AVL ํธ๋ฆฌ๋ ๊ท ํ์ด ๊ฐ์ถฐ์ง ์ด์งํธ๋ฆฌ๋ฅผ ์๋ฏธํ๋ค. ๊ท ํ์ด ๊ฐ์ถฐ์ ธ ์๋ค๋ ๋ง์ ๊ฑฐ์ ์์ ํ ์ด์งํธ๋ฆฌ๋ฅผ ๊ฐ์ถ๋ค๋
๋ป์ด๋ค.
์์ ์ด์งํธ๋ฆฌ๋ ๊ฒ์์ O(log2 n)์ ํด๋นํ๋ ๊ฒ์์๋๋ฅผ ์ ์งํ ์ ์๊ฒ ๋๋ค.
์ด์ ๋ฐ๋ผ AVL ํธ๋ฆฌ๋ ์ต์ ์ ๊ฒ์ ์๋๋ฅผ ๋ณด์ฅํ๊ธฐ ๋๋ฌธ์ ์ฝ์
๊ณผ ์ญ์ ๊ฐ ์ ์ ๊ฒฝ์ฐ์ ์์ฃผ ํจ์จ์ ์ด๋ผ๊ณ ๋ณผ ์
์๋ค.
- 11. AVL ํธ๋ฆฌ์์ ๊ฐ์ฅ ์ค์ํ ๊ฐ๋
์ ๋์ด ์ฐจ์ด๋ฅผ ๋ํ๋ด๋ ๊ท ํ์ธ์(Balance factor)์ด๋ค.
๊ท ํ ๋ณ์๋ ๋ฌด์์ธ๊ฐ?
๊ฐ๋จํ๊ฒ ๋งํ๋ฉด ํน์ ๋
ธ๋์์ ์์ ๋
ธ๋๋ค์ ๋์ด ์ฐจ์ด๋ฅผ ๋งํ๋ค.
์ฆ, ์ผ์ชฝ ์๋ธํธ๋ฆฌ์ ๋์ด์ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์ ๋์ด์ ์ฐจ์ด๋ฅผ ํ์ฌ ๋
ธ๋์ ๊ท ํ์ธ์๋ผ๊ณ ํ๋ค.
๊ท ํ์ธ์ = |์ผ์ชฝ์์๋์ด - ์ค๋ฅธ์ชฝ์์๋์ด|
์ ํธ๋ฆฌ๋ฅผ ๋ณด๋ฉด ๋งจ ๋ฐ๋จ์ ๋จ๋ง๋
ธ๋์ ๊ท ํ์ธ์๋ 0์ธ ๊ฒ์ ์ ์ ์๋ค. ์๋ํ๋ฉด ์์๋ค์ด ์์ผ๋๊น ๋์ด ์ฐจ์ด๋
0 ์ด๋ค.
์ด๋ก์จ ์ ์ผ ์ผ์ชฝ์ ๋จ๋ง๋
ธ๋์ ๋ถ๋ชจ์ ๊ท ํ์ธ์๋ 1์ด ๋๋ ์ด์ ๊ฐ ์ค๋ช
์ด ๋๋ค. ์ด๋ ๊ฒ ์ ์ฒด์ ์ผ๋ก ยฑ1์ ์ดํ๋ฅผ
์ด๋ฃจ๋
ํธ๋ฆฌ๋ฅผ AVL ํธ๋ฆฌ๋ผ๊ณ ํ๋ค.
๋ง์ฝ ์ ์ผ ์ผ์ชฝ์ ๋ ํ๋์ ๋จ๋ง๋
ธ๋๋ฅผ ๋ถ์ฌ๋ณด์.
๊ทธ๋ ๋ค๋ฉด ์ด์ฒ๋ผ ๊ท ํ์ธ์๊ฐ 2์ธ ํธ๋ฆฌ๊ฐ ๋ํ๋๊ฒ ๋๋ค. ์ด๋ AVL ํธ๋ฆฌ ์กฐ๊ฑด์ด ๊นจ์ ธ๋ฒ๋ฆฐ ๊ฒ์ด๋ค.
์ด ๋ AVL ํธ๋ฆฌ ๊ตฌ์ฑ์ ์ํด ๊ท ํ์ ๋ง์ถ๊ธฐ ์ํด ์ฌ๊ตฌ์ถ ํด์ผํ๋ค.
์ผ๋ฐ์ ์ผ๋ก AVL ํธ๋ฆฌ์์๋ 4๊ฐ์ง ํํ์ ์ฝ์
์ผ๋ก AVL ํธ๋ฆฌ๊ฐ ์กฐ๊ฑด์ด ๊นจ์ ธ๋ฒ๋ฆฐ๋ค.
LL ํ์, LR ํ์, RR ํ์, RL ํ์
- 12. <LL ํ์ >
A์ ์ผ์ชฝ ์์, ๊ทธ ์์์ ์ผ์ชฝ์ผ๋ก ๋ฃ๋ ๊ฒฝ์ฐ
<LR ํ์>
A์ ์ผ์ชฝ ์์, ๊ทธ ์์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฃ๋ ๊ฒฝ์ฐ
<RR ํ์>
A์ ์ค๋ฅธ์ชฝ ์์, ๊ทธ ์์์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฃ๋ ๊ฒฝ์ฐ
- 13. <RL ํ์>
A์ ์ค๋ฅธ์ชฝ ์์, ๊ทธ ์์์ ์ผ์ชฝ์ผ๋ก ๋ฃ๋ ๊ฒฝ์ฐ
์ฌ๊ธฐ๊น์ง ๋ณธ ์ฝ์
์ AVL ํธ๋ฆฌ์ ์กฐ๊ฑด์ด ๊นจ์ง๋ 4๊ฐ์ง ๊ฒฝ์ฐ๋ฅผ ๋ค์ ํ ๋ฒ ์ ๋ฆฌํด๋ณด๊ฒ ๋ค.
LL ํ์ : A์ ์ผ์ชฝ(L) ์์์ ์ผ์ชฝ(L)์ ๋ฃ๋ ๊ฒฝ์ฐ
LR ํ์ : A์ ์ผ์ชฝ(L) ์์์ ์ค๋ฅธ์ชฝ(R)์ ๋ฃ๋ ๊ฒฝ์ฐ
RR ํ์ : A์ ์ค๋ฅธ์ชฝ(R) ์์์ ์ค๋ฅธ์ชฝ(R)์ ๋ฃ๋ ๊ฒฝ์ฐ
RL ํ์ : A์ ์ค๋ฅธ์ชฝ(R) ์์์ ์ผ์ชฝ(L)์ ๋ฃ๋ ๊ฒฝ์ฐ
์ฌ๊ธฐ์ ๋ณด์์ผํ ๊ฒ์ LL์ ๋์นญ์ RR ์ด๊ณ LR์ ๋์นญ์ RL์ด๋ผ๋ ์ ์ด๋ค.
์ด์ ์ด๋ฌํ 4๊ฐ์ง ๊ฒฝ์ฐ์ ๋ฐ๋ผ ํธ๋ฆฌ๋ฅผ ์ฌ๊ตฌ์ถํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด์.
์ผ๋จ AVL ํธ๋ฆฌ๋ ๊ท ํ์ธ์๊ฐ ยฑ1 ์ดํ์ธ ํธ๋ฆฌ๋ผ๊ณ ํ๋ค.
์ฝ์
์ ๊ท ํ์ธ์๊ฐ ํ์ด์ง๊ธฐ ์์ํ ๋
ธ๋๋ฅผ ์ค์ฌ์ผ๋ก ์ฌ๊ตฌ์ถ์ ์งํํ๋ค.
์ฐ์ LL ํ์์ ๋จผ์ ๋ณด์.
์ผ๋จ ์๋๋ฅผ ๋ณด๋ฉฐ ์ ๊ท๋
ธ๋๋ฅผ ์ฝ์
ํ์ ๊ฒฝ์ฐ ๋นจ๊ฐ์ ์์๋
ธ๋์ ์ฝ์
๋์ด ๋ถ๊ท ํ์ด ๋ฐ์ํ๊ฒ ๋๋ค.
- 14. LL ํ์์ ์ค๋ฅธ์ชฝ ํ์ (rotation)์ด๋ผ๋ ์์
์ ํตํด ์ฌ๊ตฌ์ถํ๋ค. ๊ฐ๊ฐ์ ๋
ธ๋๋ค์ ๋ํ ์์น ๋ณ๊ฒฝ์ด๋ผ๊ณ ๋ณด๋ฉด ๋๋ค.
์ด์ ๋ํ ์๊ณ ๋ฆฌ์ฆ์ ๋ค์๊ณผ ๊ฐ๋ค.
ย ย
ย ย ย ย ย ย ย ย
ย ย
์ด๋ฅผ ์ฝ๋๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
ย ย ย ย ย ย ย ย
ย ย ย ย ย ย ย ย
ย ย ย ย ย ย ย ย
ย ย ย ย ย ย ย ย
์ B๋ฅผ ๋ฆฌํดํ๋๊ฐ? ์๋์ A ์๋ฆฌ์ B๊ฐ ๊ฒฐ๊ตญ์๋ ์ฌ๋ผ์๊ธฐ ๋๋ฌธ์
์ด์ ํฌ์ธํฐ๋ฅผ ๋ฆฌํดํ์ฌ ์ด ์์น๋ฅผ ์ ์ฅํ๊ธฐ ์ํ ๊ฒ์ด๋ค.
์ ๊ท A' = ๊ธฐ์กด์ A๋ฅผ ๋์ ํ๋ B ํฌ์ธํฐ
์ด์ฒ๋ผ ํฌ์ธํฐ์ ์์น ๋ณ๊ฒฝ๋ง์ ํตํด LL ํ์์ ์ฌ๊ตฌ์ถ ํ ์ ์๋ค.