<map๊ณผ unordered_map์ ์ฐจ์ด๋ ๋ฌด์์ผ๊น?>
=> map๊ณผ unordered_map์ ์ฐจ์ด๋ ๊ตฌํ๋ฐฉ์์ด๋ค.
map์ ๊ท ํ ์ด์งํธ๋ฆฌ(Red-black tree)๋ก ๊ตฌํ๋๊ณ , unordered_map(hash_map)์ hash ๋ฐฉ์(hash table)์ผ๋ก ๊ตฌํ๋๋ค.
์ฆ, map์ ๋ค์ด๊ฐ๋ element ๋ค์ key์ ๋ฐ๋ผ ์ ๋ ฌ๋์ด ์ ์ฅ๋๊ณ , unordered_map์ key์ hash๊ฐ์ ๋ฐ๋ผ์ ์ ์ฅ๋๋ค.
<map๊ณผ unorderd_map ์ค์ ์ฑ๋ฅ์ ๋ญ๊ฐ ์ข์๊น?>
=> ๋ฐ์ดํฐ๊ฐ ์ ์ ๊ฒฝ์ฐ๋ map > unordered_map, ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ๋ map < unordered_map ์ฑ๋ฅ์ด ๋ ์ข๋ค.
map์ ๋ฐ์ดํฐ๋ค์ ์ ๋ ฌ๋์ด ์ ์ฅ๋๋ฏ๋ก O(logN)์ ํ์ ์๋๋ฅผ ๋ณด์ฅํ๊ณ , key๊ฐ์ผ๋ก ํ์ํ๋ unordered_map์ ๊ฒฝ์ฐ O(1)์ ํ์์๋๋ฅผ ๊ฐ๊ธฐ ๋๋ฌธ์ด๋ค.
์ฐธ๊ณ ๋ก map์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์ถ๊ฐ, ์ญ์ ์ ๋น์ฉ์ด ์ปค์ง๋ค.(๊ทธ๋๋ O(logN)์ ์ฑ๋ฅ์ ๋ณด์ฅ๋๋ค.) ๋ฐ์ดํฐ๊ฐ ์ ๋๋ผ๋ ๋ฐ์ดํฐ์ ์์ ์ด ๋ง์ด ์ผ์ด๋๋ ๊ฒฝ์ฐ๋ unordered_map์ ์ฑ๋ฅ์ด ๋ ์ข๋ค๋ ๋ง์ด๋ค. unordered_map์ ์ ๋ ฌํ ํ์๊ฐ ์์ผ๋ฏ๋ก ๋ฐ์ดํฐ ์ถ๊ฐ, ์ญ์ ์์๋ ๊ทธ ์ฑ๋ฅ์ด ๊พธ์คํ ๋ณด์ฅ๋๋ค.
โ ์ฐธ๊ณ ๋ก hash_map์ ๋นํ์ค Container์ด๊ณ , unordered_map์ด C++11์์ STL ํ์ค Container๋ก ์ถ๊ฐ๋์๋ค.
์ฆ, unordered_map์ด hash_map๊ณผ ๊ฑฐ์ ๋์ผํ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ค๊ณ ๋ณด๋ฉด ๋๋ค.
์๋ microsoft C++ ๊ณต์๋ฌธ์ ์ฐธ์กฐ~!
'๐ Coding Test Study > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++][์ ๊ทํํ์] <regex> ํจ์ (0) | 2021.08.22 |
---|---|
[C++] 2์ฐจ์ ๋ฒกํฐ์ ์์ฑ๊ณผ ์ด๊ธฐํ / 2์ฐจ์ ๋ฒกํฐ ๋์ ํ ๋น ๋ฐฉ๋ฒ, ํฌ๊ธฐ ๊ตฌํ๊ธฐ (0) | 2021.08.05 |
C++ ๋ฐฐ์ด/๋ฒกํฐ์ ํจ์์ ์ธ์๋ก ์ ๋ฌํ๊ณ ๋ฐ๊ธฐ (0) | 2021.04.02 |
C++ sort ํจ์ ์ ๋๋ก ์ฌ์ฉํ๊ธฐ(๋ฐฐ์ด, ๋ฒกํฐ) (0) | 2021.04.02 |
C++ ๋์ ํ ๋น? (0) | 2021.03.27 |