AVL Tree
์ด๋ค ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ํ๋๋ผ๋ ์ผ์ชฝ์์์ ๊น์ด์ ์ค๋ฅธ์ชฝ ์์์ ๊น์ด ์ฐจ์ด๊ฐ 1์ ๋์ง ์๋ ํธ๋ฆฌ
BST (์ด์ง ํ์ ํธ๋ฆฌ)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ Tree.
์ฝ์ , ์ญ์ , ํ์์ ์๊ฐ๋ณต์ก๋๋ O(log n)
์ฉ์ด ๊ฐ๋
๊ท ํ์น (Balance factor) : ์์๋ ธ๋์ ๊น์ด ์ฐจ์ด ( ์ผ์ชฝ ์๋ธํธ๋ฆฌ์ ๋์ด โ ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์ ๋์ด ) BF๋ -1, 0, 1๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ ์ด ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ค๋ฉด, ๊ทธ ํธ๋ฆฌ์ ๊ท ํ์ ๊นจ์ง๊ฒ๋ค.
ํน์ง
BST
์ ๋ชจ๋ ํน์ง์ ๊ฐ๋๋ค.๋ชจ๋ ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ์์์ ๊น์ด์ ์ค๋ฅธ์ชฝ ์์์ ๊น์ด ์ฐจ์ด๊ฐ 1์ ๋์ง ์๋๋ค.
AVL Tree๊ฐ Red Black Tree๋ณด๋ค ๋ ์๊ฒฉํ๊ธฐ ๋๋ฌธ์
๋ ๋น ๋ฅธ ์กฐํ
๊ฐ ๊ฐ๋ฅํ๋์ฝ์ / ์ญ์
๊ฐ RB Tree์ ๋นํด๋๋ฆฌ๋ค
.RB Tree
๋ Red/Black์ ํํํ ๋1 or 0
1๋นํธ๋ง ์์ด๋ ๋๋AVL Tree
๋ ๊น์ด๋ฅผ ์ ์ฅํint
ํ์ ์ ์ ์ฅ์ด ํ์ํ๋ค.
์ฌ์ฉ ์
๋ ๋น ๋ฅธ ๊ฒ์์ด ํ์ํ DB์ ์ฌ์ฉ
๊ตฌํ
Insert ( ์ฝ์ )
Delete ( ์ญ์ )
Search ( ํ์ )
์๊ฐ ๋ณต์ก๋
์ผ๋ฐ BST์ skewdํ ๊ฒฝ์ฐ๋ฅผ balancing๊ธฐ๋ฒ์ ํตํด balancedํ tree๋ฅผ ๋ง๋ค์์ผ๋ฏ๋ก ํ์๊ณผ์ ์ ์ํ๋ ๋๋ก O(lgn)์ด ๋์จ๋ค. ์ฝ์ ์ ์ผ๋ฐ BST์์ rotate๊ณผ์ ์ด ์ถ๊ฐ ๋์๋ ๋ฐ, rotate๊ณผ์ ์ ํฌ์ธํฐ๋ณ์๋ฅผ ๊ตํํด์ฃผ๋ ๊ฒ์ด๋ฏ๋ก O(1)์ ์ฐ์ฐ์ด O(lgn)๋ฒ ์ํ ๋๋ฏ๋ก ์ฝ์ ๋ O(lgn)์ ๊ฐ๋๋ค. ์ญ์ ๋ ์ฝ์ ๊ณผ ๋์ผํ ํ๋ก์ธ์ค๋ก ๋์ํ๋ฏ๋ก O(lgn)์ด ๋์จ๋ค.
Last updated