๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[์•Œ๊ณ ๋ฆฌ์ฆ˜]ํ•ด์‰ฌํ…Œ์ด๋ธ”_hash table ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป ์ปดํ“จํ„ฐ ๊ตฌ์กฐ/Algorithm

[์•Œ๊ณ ๋ฆฌ์ฆ˜]ํ•ด์‰ฌํ…Œ์ด๋ธ”_hash table

์ง•์ง•์•ŒํŒŒ์นด 2022. 6. 17. 01:20
728x90
๋ฐ˜์‘ํ˜•

220617 ์ž‘์„ฑ

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” 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 

 

728x90
๋ฐ˜์‘ํ˜•
Comments