๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[์๊ณ ๋ฆฌ์ฆ]ํด์ฌํ ์ด๋ธ_hash table ๋ณธ๋ฌธ
[์๊ณ ๋ฆฌ์ฆ]ํด์ฌํ ์ด๋ธ_hash table
์ง์ง์ํ์นด 2022. 6. 17. 01:20220617 ์์ฑ
<๋ณธ ๋ธ๋ก๊ทธ๋ Chan-Su Shin๋์ ์ ํ๋ธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค>
https://www.youtube.com/watch?v=Bzmepm6pYQI
1. hash table
: ์ ๋ ฌ์ด ์๋๋ค
: ๊ฒ์ ์๋ o(1) ๊ฑธ๋ฆฐ๋ค but ์ค๋ ๊ฑธ๋ฆฌ๋ฉด o(n)
: key-value ๊ด๊ณ์ด๋ค
: ๊ฒ์์๋๊ฐ ๋งค์ฐ ๋น ๋ฅด๋ค
: ํด์์ฝ๋๋ก ์ธ๋ฑ์ค ๋ฐฐ์ด -> linked list
: ์ถฉ๋์ด ๋ ๋ค
2. hash table ํฐ ํน์ง
- table ์ list!
- hash function์ ๋ง๋ ๋ค
- ์ถฉ๋ ํด๊ฒฐ ๋ฐฉ์์ ์ฐพ๋๋ค
3. hash function
: division hesh func
f(k) = k % m
: perfect func
key -> slot (1๋ 1)
๋น์ด์์
: c - universal hash func
Pr{f(x) == f(y)} == 1/m
์ถฉ๋ํ๋ฅ
- multiplication
- folding
- mid
- extraction
4. ์ถฉ๋ํํผ
- open addressing (linear probing & quadratic probing & double hashing)
- chaining
'๐ฉโ๐ป ์ปดํจํฐ ๊ตฌ์กฐ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] ์ ํ๊ฒ์, ์ด์ง๊ฒ์, ํธ๋ฆฌ๊ตฌ์กฐ(BFS, DFS) (0) | 2022.09.30 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] ๋ณต์ก๋,๋น ์ค ํ๊ธฐ๋ฒ O, ์๋ฃ๊ตฌ์กฐ(๋ฆฌ์คํธ, ์ฐ๊ฒฐ๋ฆฌ์คํธ) (0) | 2022.09.28 |
[python] class์ def __init__(self) ์ดํดํ๊ธฐ (0) | 2022.09.07 |
[์๊ณ ๋ฆฌ์ฆ] ํด์ํ ์ด๋ธ_๊ตฌํ (0) | 2022.06.17 |
[์๊ณ ๋ฆฌ์ฆ]๋ถํ ์ ๋ณต_์ ํ์ (0) | 2022.03.18 |