ํ
1. ์ฉ๋
2. ๊ตฌํ
3. ์ข ๋ฅ
4. ์ฐ์ฐ
5. ์ ๋ ฌ

ํ
-
์ฉ๋
-
๊ตฌํ
-
์ข ๋ฅ
-
์ฐ์ฐ
-
์ ๋ ฌ
ํ
ํ์ ์ถ์์ ์๋ฃํ์ธ ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ๋ง๋ค์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค.
partial-ordering (๋ถ๋ถ ์ ๋ ฌ)์ ๋ง์กฑํ๋ left-complete binary tree (์ข์ธก ์์ ์ด์ง ํธ๋ฆฌ) ์ด๋ค.
๋ถ๋ถ ์ ๋ ฌ์ ๋ง์กฑํ๋ค๋ ๋ง์ '๋ถ๋ชจ ๋ ธ๋์ ์์๋ ธ๋' ๊ฐ์๋ ํน์ ๋์๊ด๊ณ ์ฑ๋ฆฝํ์ง๋ง, 'ํ์ ๋ ธ๋'๊ฐ์๋ ํด๋น ๋์๊ด๊ณ๊ฐ ์ฑ๋ฆฝํ์ง ์๋๋ค๋ ๋ป์ด๋ค.
์ด์ง ํ์ ํธ๋ฆฌ์์๋ ์ค๋ณต๋ ๊ฐ์ ํ์ฉํ์ง ์์ง๋ง ํ ํธ๋ฆฌ์์๋ ํ์ฉํ๋ค.
1. ์ฉ๋
ํ์ ์ถ์์ ์๋ฃํ์ธ ์ฐ์ ์์ ํ๋ฅผ ๊ตฌํํ๊ธฐ ์ํด์ ๋ง๋ค์ด์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋ฐฐ์ด๊ณผ ์ฐ๊ฒฐ๋ฆฌ์คํธ๋ฅผ ์ด์ฉํ๋ฉด ์ฝ์ ๊ณผ ์ญ์ ์ฐ์ฐ ์ค ํ๋๊ฐ O(n)์ผ ์ ๋ฐ์ ์๋ค. ํ์ง๋ง ํ์ ์ด์ฉํ๋ฉด ๊ฐ์ฅ ํฐ ๊ฐ์ด๋ ๊ฐ์ฅ ์์ ๊ฐ์ ๋ ๋ค O(logn)๋ง์ ๋น ๋ฅด๊ฒ ์ฐพ์ ์ ์๋ค.
์ด์ ๊ฐ์ ํน์ฑ ๋๋ฌธ์ ํ ์ ๋ ฌ์ด๋ผ๋ ์ ๋ ฌ ์๊ณ ๋ฆฌ์ฆ์์๋ ์ฐ์ธ๋ค.
2. ๊ตฌํ
ํ์ ๋ฐฐ์ด, ์ฐ๊ฒฐ๋ฆฌ์คํธ ์ด๋ ๊ฒ 2๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌํํ ์ ์๋ค. ํธ๋ฆฌ ๊ตฌํ๊ณผ ๋น์ทํ๊ฒ ๋๋ถ๋ถ ๋ฐฐ์ด์ ์ฌ์ฉํ๋ค. ์์ธํ ๊ตฌํ ๋ด์ฉ์ ์ด์ง ํธ๋ฆฌ์์์ ๊ตฌํ๊ณผ ๊ฐ๋ค.
3. ์ข ๋ฅ

-
์ต๋ ํ
-
์ต์ ํ
์ต๋ ํ์ ๋ถ๋ชจ ๋ ธ๋๊ฐ ์์ ๋ ธ๋๋ณด๋ค ํฐ, ์ต์ ํ์ ๋ถ๋ชจ ๋ ธ๋๊ฐ ์์ ๋ ธ๋๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ partial ordering์ด ์ฑ๋ฆฝํ๋ค. total ordering์ ๋ง์กฑํ์ง ์์๋ ๋๋ค.
4. ์ฐ์ฐ

-
์ฝ์
์ฝ์ ์ฐ์ฐ ์ ๊ฐ์ฅ ๋ง๋จ(๋ง์ง๋ง index)์ ์ฝ์ ํ ํ ๋ถ๋ชจ ๋ ธ๋๋ค๊ณผ ์์ฐจ์ ์ผ๋ก ๋ ๋ฒจ์ ์ฌ๋ผ๊ฐ๋ฉด์ ๋น๊ต/๊ตํํด์ ํ์ ์ฑ์ง์ ๋ง์กฑํ๋๋ก ์์ ํ๋ค.
ํ์ ๋์ด๋ ์์ ์ด์ง ํธ๋ฆฌ์ด๋ฏ๋ก logn์ด๋ค. ๋ฐ๋ผ์ ์ฝ์ ์ฐ์ฐ์ ๋ณต์ก๋๋ O(logn)์ด๋ค.

-
์ญ์
ํ์์์ ์ญ์ ์ฐ์ฐ์ ๋ฃจํธ ๋ ธ๋๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด๋ค. ๋ฃจํธ ๋ ธ๋ ์ญ์ ํ ๋น ์๋ฆฌ์ ๊ฐ์ฅ ๋ง๋จ ๋ ธ๋๋ฅผ ์ฑ์ด ํ ์์ ๋ ธ๋๋ค๊ณผ ์์ฐจ์ ์ผ๋ก ๋ ๋ฒจ์ ๋ด๋ ค๊ฐ๋ฉด์ ๋น๊ต/๊ตํํด์ leaf node๊น์ง ๋ด๋ ค๊ฐ๋ค.
์ญ์ ์ฐ์ฐ ๋ํ ํ์ ๋์ด์ ๋น๋กํ๋ฏ๋ก ๋ณต์ก๋๊ฐ O(logn)์ด๋ค.
5. ์ ๋ ฌ
ํ์ ํตํด์ ์ด๋ค ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌํ๋ ค๋ฉด ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ง์กฑํ๊ฒ ๊ตฌ์ฑํ๊ณ , ๋ฃจํธ ๋ ธ๋์์ ์์๋ค์ ํ๋์ฉ ์ญ์ ํด๊ฐ๋ฉด์ ๋ค์ ํ ๊ตฌ์กฐ๋ก ๋ง๋๋ ๊ฑธ ๋ฐ๋ณตํ๋ฉด ๋๋ค.
์ด ๋, ๋ฐ์ดํฐ์ ๊ฐฏ์๋งํผ ์ด ๊ณผ์ ์ ๋ฐ๋ณตํ๊ณ , ์ด ๊ณผ์ ์ ์๊ฐ๋ณต์ก๋๊ฐ ์์์ ์ค๋ช ํ๋ฏ์ด O(logn)์ด๋ฏ๋ก, ์ ์ฒด ์๊ฐ๋ณต์ก๋๋ O(nlong)์ด๋ค.
Comment