๋ฐ์ํ
๐ ์ค๋ ๋ฐฐ์ด ๊ฒ
โ๏ธ ํด์ํ ์ด๋ธ (์๋ฃ๊ตฌ์กฐ)
ํด์ ํ ์ด๋ธ์ ๋ฉ์๋ ์ค ์ฝ์ , ์ญ์ , ๋ฆฌ์ฌ์ด์ง์ ํ๋ ๋ฉ์๋๋ค์ ํ์ด๋ถ๊ณผ ์ง์ ์ฝ๋๋ก ์์ฑํด๋ดค๋ค. ์ฒ์์ ํด์ํ ์ด๋ธ์ ์ ๋ฐ์ ์ธ ๊ตฌ์กฐ๋ฅผ ์๊ฐํ์ง ์๊ณ ๋ฌด์์ ์ฝ๋๋ฅผ ์์ฑํ๋ คํด์ ์๊พธ ์ค๋ฅ๊ฐ ๋ฌ๋๋ฐ, ์ ์ ๋ฆฌํ๋ ์ํ ์๊ฐ์ ๊ฐ๊ณ ๊ตฌ์กฐ๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ๊ทธ๋ ค๋ณด๋ ์กฐ๊ธ์ฉ ๊ฐ์ด ์กํ๊ธฐ ์์ํ๋ ๊ฒ ๊ฐ๋ค. ํนํ bucket์ ์กด์ฌ๋ฅผ ์๊ณ ์์ด์,, ๋ง์ด ํด๋งธ๋ ๊ฒ ๊ฐ๋ค. ํต๊ณผ๋ ๋์ง๋ง ์์ธ์ง ์ ์ดํด๊ฐ ๊ฐ์ง ์์์ ์ด๊ธฐํํ๊ณ ์ฒ์๋ถํฐ ๋ค์ ์์ฑํด๋ณด๋๊น ์ฒ์ ๋ดค์ด์ผ ํ๋๋ฐ ๋๋ฌด๋ฅผ ๋ณด๊ณ ์์๋ค๋๊ฑธ ๊นจ๋ซ๊ธฐ๋ ํ๋ค. ์๋ฃ๊ตฌ์กฐ๋ ๊ผญ ๊ทธ๋ฆผ์ผ๋ก ํ๋์ฉ ๊ทธ๋ ค๋ณด์..!
โ๏ธ ๊ทธ๋ํ (์๋ฃ๊ตฌ์กฐ)
์ฐ๊ฒฐ๋์ด ์๋ ๊ฐ์ฒด ๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ ์ ์๋ ์๋ฃ ๊ตฌ์กฐ์ธ ๊ทธ๋ํ(Graph)์ ๋ํด ๊ณต๋ถํ๋ค. ๊ทธ๋ฆผ๋ง ๋ดค์๋๋ ๊ทธ๋ฅ ๋ฐ์ดํฐ๋ค๋ผ๋ฆฌ ์ฐ๊ฒฐ๋ผ์๋๊ฑฐ๊ตฌ๋ ํ๊ณ ๊ฐ๋จํ๊ฒ ์๊ฐํ๋๋ฐ, ๋ฐฉํฅ์ฑ ์ฌ๋ถ์ ๋ฐ๋ผ์๋ ๊ตฌ๋ถ๋๊ณ , ํนํ ๊ตฌํํ๋ ๋ฐฉ์๋ ์ธ์ ๋ฆฌ์คํธ ๋ฐฉ์๊ณผ ์ธ์ ํ๋ ฌ๋ฐฉ์ ๋๊ฐ์ง๋ก ๋๋์ด์ ธ์ ์์๋ด์ผํ ๊ฒ ๋ง์๋ค. ์ธ์ ๋ฆฌ์คํธ๋ ๊ทธ๋ํ ๋ด์ ๊ฐ์ ์ด ๋ง์ด ์๋ ํฌ์๊ทธ๋ํ์ผ ๋ ๋ง์ด ์ฌ์ฉํ๊ณ , ๊ฐ์ ์ด ๋ง์ ๊ด๊ณ๊ฐ ๋ณต์กํ ๋๋ ์ธ์ ํ๋ ฌ์ ์ฃผ๋ก ์ฌ์ฉํ๋ค๊ณ ํ๋ค. ๊ทธ๋ํ๋ฅผ ํ์ํ๋ ๋ฐฉ๋ฒ๋ ๊น์ด์ ์ค์ ์ ๋๋์ง, ๋๋น์ ์ค์ ์ ๋๋์ง์ ๋ฐ๋ผ ๋ฌ๋ผ์ ์ํฉ์ ๋ง๊ฒ ๋ญ๊ฐ ๋ ํจ์จ์ ์ธ์ง ์ ํ๋จํด์ ์ฐ๋๊ฒ ์ ๋ง ์ค์ํ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
๐ ๊ธฐ์ตํ ๊ฒ
โ๏ธ ํด์ ํจ์์ ์ธ ๊ฐ์ง ์กฐ๊ฑด
1) ๊ฐ์ key → (ํด์ํจ์) → ๊ฐ์ ํด์๊ฐ : ์ผ๊ด์ฑ
2) ๋ค๋ฅธ key → (ํด์ํจ์) → ๋ค๋ฅธ ํด์๊ฐ
3) ๋ฐฐ์ดํฌ๊ธฐ๋ฅผ ์ ๊ฒ (์ ํจํ ์ธ๋ฑ์ค๋ง ๋ฐํ)
โ๏ธ ํด์ํ ์ด๋ธ์ ์๊ฐ๋ณต์ก๋ (Big-O)
์ฝ์ , ์ญ์ : ํ๊ท O(1), ์ต์ O(n)
๊ฒ์ : ํ๊ท O(1), ์ต์ O(n)
๋ฆฌ์ฌ์ด์ง : O(n)
๐ ๋ ๊ณต๋ถํ ๊ฒ
โ๏ธ ํธ๋ฆฌ๊ตฌ์กฐ (Tree)
โ๏ธ ์ด์ง ํ์ ํธ๋ฆฌ (Binary Search Tree)
๋ฐ์ํ
'Daily > Today I Learned' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
210122_TIL (์๊ฐ๋ณต์ก๋, ์๋ฃ๊ตฌ์กฐ ๋ณต์ต) (0) | 2021.01.23 |
---|---|
210121_TIL (์๋ฃ๊ตฌ์กฐ - ํธ๋ฆฌ, ์ด์ง๊ฒ์ํธ๋ฆฌ) (0) | 2021.01.22 |
210119_TIL (์๋ฃ๊ตฌ์กฐ - ์คํ, ํ, ์ฐ๊ฒฐ๋ฆฌ์คํธ) (0) | 2021.01.20 |
210118_TIL (ํฌ์ผ๋ชฌ๊ฒ์ Javascript ์์ฑ) (0) | 2021.01.19 |
210117_TIL (ํฌ์ผ๋ชฌ๊ฒ์ HTML, CSS) (0) | 2021.01.18 |
๋๊ธ