์๊ณ ๋ฆฌ์ฆ17 13-3. ํด์ 3 ์ข์ ํด์ฌ ํจ์๋? - ํ์ค์์๋ ํค๋ค์ด ๋๋คํ์ง ์์ - ๋ง์ฝ ํค๋ค์ ํต๊ณ์ ๋ถํฌ์ ๋ํด ์๊ณ ์๋ค๋ฉด ์ด๋ฅผ ์ด์ฉํด์ ํด์ฌ ํจ์๋ฅผ ๊ณ ์ํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๊ฒ ์ง๋ง ํ์ค์ ์ผ๋ก ์ด๋ ค์ - ํค๋ค์ด ์ด๋ค ํน์ ํ (๊ฐ์์ ์ธ) ํจํด์ ๊ฐ์ง๋๋ผ๋ ํด์ฌํจ์๊ฐ์ด ๋ถ๊ท์น์ ์ด ๋๋๋ก ํ๋ ๊ฒ ๋ฐ๋์ง - ํด์ฌํจ์ ๊ฐ์ด ํค์ ํน์ ๋ถ๋ถ์ ์ํด์๋ง ๊ฒฐ์ ๋์ง ์์์ผ.. Division ๊ธฐ๋ฒ - h(k) = k mod m - ์ : m = 20 and k = 91 -> h(k) = 11 - ์ฅ์ : ํ ๋ฒ์ mod ์ฐ์ฐ์ผ๋ก ๊ณ์ฐ. ๋ฐ๋ผ์ ๋น ๋ฆ. - ๋จ์ : ์ด๋ค m๊ฐ์ ๋ํด์๋ ํด์ฌ ํจ์๊ฐ์ด ํค๊ฐ์ ํน์ ๋ถ๋ถ์ ์ํด์ ๊ฒฐ์ ๋๋ ๊ฒฝ์ฐ๊ฐ ์์. ๊ฐ๋ น m = 2^p์ด๋ฉด ํค์ ํ์ p๋นํธ๊ฐ ํด์ฌํจ์ ๊ฐ์ด ๋จ. Multiplication ๊ธฐ๋ฒ -.. 2020. 11. 29. 13-1๊ฐ. ํด์(Hashing) 1 SUHA(Simple Uniform Hashing Assumption) - ๊ฐ๊ฐ์ ํค๊ฐ ๋ชจ๋ ์ฌ๋กฏ๋ค์ ๊ท ๋ฑํ ํ๋ฅ ๋ก() ๋ ๋ฆฝ์ ์ผ๋ก(independently) ํด์๋๋ค๋ ๊ฐ์ => ์ฌ์ค ํ์ค์ ์ด์ง ์๋ค. - ์ฑ๋ฅ๋ถ์์ ์ํด์ ์ฃผ๋ก ํ๋ ๊ฐ์ ์ผ ๋ฟ - hash ํจ์๋ deterministicํ๋ฏ๋ก ํ์ค์์๋ ๋ถ๊ฐ๋ฅํ๋ค - Load factor alpha = n/m: - n : ํ ์ด๋ธ์ ์ ์ฅ๋ ํค์ ๊ฐฏ์ - m : ํด์ฌํ ์ด๋ธ์ ํฌ๊ธฐ, ์ฆ ์ฐ๊ฒฐ๋ฆฌ์คํธ์ ๊น์ - ๊ฐ ์ฌ๋กฏ์ ์ ์ฅ๋ ํค์ ํ๊ท ๊ฐฏ์ - ์ฐ๊ฒฐ๋ฆฌ์คํธ T[j]์ ๊ธธ์ด๋ฅผ Nj๋ผ๊ณ ํ๋ฉด, E[Nj] = alpha - ๋ง์ฝ n = O(m)์ด๋ฉด ํ๊ท ๊ฒ์์๊ฐ์ O(1) 2020. 11. 24. 12-2๊ฐ. ๋ ๋๋ธ๋ํธ๋ฆฌ (3) RB-DELETE(T, z) // T: Binary Search Tree, z : ์ญ์ ํ ๋ ธ๋ if left[z] == nil[T] or right[z] == nil[T]// ์์์ด ์๊ฑฐ๋, ์์์ด ํ๋๊ฑฐ๋ then y 2020. 11. 22. 12-1๊ฐ. ๋ ๋๋ธ๋ํธ๋ฆฌ(1) ๋ฌธ์ ์ํฉ : ํ์ค์ธ๊ณ์์๋ ์๋ฒฝํ๊ฒ ์ ๋ ฌ๋ Binary Search Tree๋ ์ฐพ๊ธฐ ํ๋ค๋ค. ์ค๋ฅธ์ชฝ์ผ๋ก ๊ทน๋จ์ ์ผ๋ก ์น์ฐ์น ๊ฒฝ์ฐ๊ฐ ์กด์ฌํ ์ ์๋ค. ๋ณด์ ๋ฐฉ๋ฒ : ๋ ๋๋ธ๋ํธ๋ฆฌ(Red-Black Tree)๋ ์ด๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ๋ฑ์ฅํ๋ค. ์๋ฒฝํ๊ฒ ํธ๋ฆฌ์ ๊ท ํ์ ๋ง์ถ ์๋ ์์ผ๋, ์ด๋์ ๋ ๋ณด์์ ๊ฐ๋ฅํ๊ฒ ํ๋ค. INSERT, DELETE ์๊ณ ๋ฆฌ์ฆ์ ์ ์ ํ๊ฒ ์์ ํ๋ค. ๋ ๋๋ธ๋ํธ๋ฆฌ - ์ด์งํ์ํธ๋ฆฌ์ ์ผ์ข - ๊ท ํ ์กํ ํธ๋ฆฌ : ๋์ด๊ฐ O(log2n) - SEARCH, INSERT, DELETE ์ฐ์ฐ์ ์ต์ ์ ๊ฒฝ์ฐ์๋ O(log2n) ์๊ฐ์ ์ง์ํ๋ค. - ๊ฐ ๋ ธ๋๋ ํ๋์ ํค(key), ์ผ์ชฝ์์(left), ์ค๋ฅธ์ชฝ ์์(right), ๊ทธ๋ฆฌ๊ณ ๋ถ๋ชจ๋ ธ๋(p)์ ์ฃผ์๋ฅผ ์ ์ฅํ๋ค. - ์์๋ ธ๋๊ฐ ์กด์ฌํ์ง ์์ ๊ฒฝ์ฐ,.. 2020. 11. 17. ์ด์ 1 2 3 4 5 ๋ค์