2024. 7. 29. 23:43ใTIL
๐ ํด์ ํ ์ด๋ธ (Hash Table)
์์
ํด์ ํ ์ด๋ธ์ ํค-๊ฐ ์์ ์ ์ฅํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๋ก, ํด์ ํจ์๋ฅผ ์ฌ์ฉํ์ฌ ํค๋ฅผ ํด์ ๊ฐ์ผ๋ก ๋ณํํ๊ณ , ์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.
์ฅ์
- ๋น ๋ฅธ ๊ฒ์ ์๋:ํ๊ท ์ ์ผ๋ก O(1) ์๊ฐ ๋ณต์ก๋๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์์ด ๋งค์ฐ ๋น ๋ฅด๋ค
- ์ง๊ด์ ์ธ ํค-๊ฐ ์ ์ ์ฅ: ๋ฐ์ดํฐ ์ฝ์
๋ฐ ๊ฒ์์ด ํค๋ฅผ ํตํด ์ง๊ด์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์ฌ์ฉํ๊ธฐ ์ฝ๋ค.
- ์ ์ฐํ ํฌ๊ธฐ ์กฐ์ : ๋ฐ์ดํฐ ์๊ฐ ์ฆ๊ฐํ๋ฉด ํด์ ํ
์ด๋ธ์ ํฌ๊ธฐ๋ฅผ ๋์ ์ผ๋ก ์กฐ์ ํ ์ ์๋ค.
( ๐ก O(1)์ "์์ ์๊ฐ"์ด๋ผ๊ณ ํ๋ฉฐ, O(1) ์๊ฐ ๋ณต์ก๋๋ ์ด๋ค ์์ ์ ํ๋ ๋ฐ ๊ฑธ๋ฆฌ๋ ์๊ฐ์ด ํญ์ ์ผ์ ํ๋ค๋ ์๋ฏธํ๋ค. ์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ์๋ ์๊ด์์ด ๊ฐ์ ์๊ฐ์ ์์ ์ด ๋๋จ์ ์๋ฏธํ๋ค. )
๋จ์
- ์ถฉ๋ ์ฒ๋ฆฌ: ๋ ๊ฐ ์ด์์ ํค๊ฐ ๋์ผํ ํด์ ๊ฐ์ ๊ฐ์ง ๊ฒฝ์ฐ ์ถฉ๋์ด ๋ฐ์ํ๋ฉฐ, ์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์ถ๊ฐ ์์ ์ด ํ์ํ๋ค.
- ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ: ํด์ ํ ์ด๋ธ์ด ๋น์ด ์์ ๋๋ ์ผ์ ๋์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์ฐจ์งํ๋ฉฐ, ์ต์ ์ ๊ฒฝ์ฐ O(n) ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์ ์๋ค.
- ์ ๋ ฌ ๋ถ๊ฐ๋ฅ: ํด์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌ๋ ์ํ๋ก ์ ์งํ์ง ์๊ธฐ ๋๋ฌธ์, ์์๊ฐ ํ์ํ ๊ฒฝ์ฐ ๋ถํธํ๋ค.
๐์ด์ง ๊ฒ์ ํธ๋ฆฌ (Binary Search Tree, BST)
์์
์ด์ง ๊ฒ์ ํธ๋ฆฌ๋ ๊ฐ ๋ ธ๋๊ฐ ์ต๋ ๋ ๊ฐ์ ์์์ ๊ฐ์ง๋ฉฐ, ๊ฐ ๋ ธ๋์ ์ผ์ชฝ ์๋ธํธ๋ฆฌ์๋ ํด๋น ๋ ธ๋๋ณด๋ค ์์ ๊ฐ, ์ค๋ฅธ์ชฝ ์๋ธํธ๋ฆฌ์๋ ํด๋น ๋ ธ๋๋ณด๋ค ํฐ ๊ฐ์ ๊ฐ์ง๋ ํน์ฑ์ ๊ฐ๋ ํธ๋ฆฌ ๊ตฌ์กฐ์ด๋ค.
์ฅ์
- ์ ๋ ฌ๋ ๋ฐ์ดํฐ ์ ์ง: ์ด์ง ๊ฒ์ ํธ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฌ๋ ํํ๋ก ์ ์งํ๋ฏ๋ก, ์ค์ ์ํ๋ฅผ ํตํด ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ถ๋ ฅํ ์ ์๋ค.
- ํจ์จ์ ์ธ ๊ฒ์: ํ๊ท ์ ์ผ๋ก O(log n)์ ์๊ฐ ๋ณต์ก๋๋ก ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ์ ์ ํ ๊ท ํ ์กํ ํธ๋ฆฌ์ธ ๊ฒฝ์ฐ ์ฑ๋ฅ์ด ์ข๋ค.
- ๋์ ํฌ๊ธฐ ์กฐ์ : ๋ ธ๋๋ฅผ ์ถ๊ฐํ๊ฑฐ๋ ์ญ์ ํ ๋ ํธ๋ฆฌ๊ฐ ์๋์ผ๋ก ์กฐ์ ๋๋ค.
๋จ์
- ์ต์ ์ ๊ฒฝ์ฐ ์ฑ๋ฅ ์ ํ: ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋ ์ํ๋ก ์ถ๊ฐ๋ ๊ฒฝ์ฐ, ํธ๋ฆฌ๊ฐ ํธํฅ๋์ด O(n)์ ์ฑ๋ฅ์ ๋ณด์ผ ์ ์๋ค.
- ๊ท ํ ์ ์ง ํ์: ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด์๋ ํธ๋ฆฌ๋ฅผ ๊ท ํ ์ํ๋ก ์ ์งํด์ผ ํ๋ฉฐ, ์ด๋ฅผ ์ํด ์ถ๊ฐ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ด ํ์ํ ์ ์๋ค.
- ๋ณต์กํ ๊ตฌํ: ํด์ ํ ์ด๋ธ์ ๋นํด ๊ตฌํ์ด ๋ณต์กํ ์ ์๋ค. (ex. ๊ท ํ ์กํ ํธ๋ฆฌ์ ๊ฒฝ์ฐ)
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL ( 3์ฐจ ๋ชจ์๋ฉด์ ) (0) | 2024.07.31 |
---|---|
TIL ( nodejs๋ ์ฑ๊ธ์ค๋ ๋์ธ๊ฐ์ ๋ํ์ฌ ) (0) | 2024.07.30 |
TIL ( ๊น์ ๋ณต์ฌ์ ์์ ๋ณต์ฌ & jwt ) (0) | 2024.07.26 |
TIL(swagger์ฌ์ฉํ๊ธฐ) (0) | 2024.07.25 |
TIL(Proxy) (2) | 2024.07.24 |