Associative Container
-
- [C++] multiset(์ค๋ณต ์งํฉ)
multiset(์ค๋ณต ์งํฉ) ํน์ง์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค.์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ์๋ค.set๊ณผ ๋น์ทํ์ง๋ง, ์ค๋ณต๋ ํค(Key)๋ฅผ ๋ฃ์ ์ ์๋ค๋ ์ฐจ์ด์ ์ด ์๋ค.์ฝ์ ๋ ์์๋ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์(less)์ผ๋ก ์ ๋ ฌ๋๋ค. ํค๋ ํ์ผmultiset์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ํค๋ ํ์ผ์ ๋ถ๋ฌ์์ผ ํ๋ค.#include ๋ฉค๋ฒ ํจ์ ์ฌ์ฉ ๋ฐฉ๋ฒset๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ๋น์ทํ๋ค.๋ฐ๋ก๊ฐ๊ธฐ : https://dev-astra.tistory.com/247 [C++] set(์งํฉ)set(์งํฉ) ํน์ง ์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค. ์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ..
2022.11.09 -
- [C++] set(์งํฉ)
set(์งํฉ) ํน์ง์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค.์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ์๋ค.ํน์ ์์์ ๋ฐ๋ผ ๊ณ ์ ํ ์์๋ฅผ ์ ์ฅํ๋ ์ปจํ ์ด๋์ด๋ค.๊ธฐ๋ณธ์ ์ผ๋ก ์์๋ค์ ์ค๋ฆ์ฐจ์(less)์ผ๋ก ์ ๋ ฌ๋์ด ์ฝ์ ๋๋ค.์ค๋ณต๋๋ ์์๋ ์๊ณ , ์ค๋ก์ง ํฌ์ํ(Unique) ๊ฐ๋ง ์ ์ฅ๋๋ค.map๊ณผ ๊ฑฐ์ ๋์ผํ์ง๋ง, set์ map๊ณผ ๋ค๋ฅด๊ฒ ํค(Key)์ ๊ฐ(Value)์ด ๊ฐ๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค.ํค(Key)๋ผ ๋ถ๋ฆฌ๋ ์์๋ค์ ์งํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์ปจํ ์ด๋๋ผ๊ณ ์๊ฐํ๋ฉด ๋๋ค.๋ ธ๋ ๊ธฐ๋ฐ ์ปจํ ์ด๋์ด๋ฉฐ, ๊ท ํ ์ด์ง ํธ๋ฆฌ๋ก ๊ตฌํ๋์ด ์๋ค.์ดํฐ๋ ์ดํฐ(Iterator)๋ ์๋์ผ๋ก ์ค์ ์ํ(Inordered Traversal)๋ฅผ ํตํ์ฌ ์์๋๋ก ํค(Key)๋ฅผ ์ถ๋ ฅํ๋ค...
2022.11.08 -
- [C++] multimap(๋ฉํฐ ๋งต)
multimap(๋ฉํฐ ๋งต) ํน์งmap๊ณผ ๊ฑฐ์ ๋์ผํ์ง๋ง, ํค(Key) ๊ฐ์ด ์ค๋ณต ๊ฐ๋ฅํ ์ปจํ ์ด๋ ํค(Key)์ ๊ฐ(Value)์ด ์ฝ์ ๋ ๋, ํค(Key)๊ฐ ์ ๋ ฌ์ด ๋๋ฉด์ ์ฝ์ ๋๋ค. ํค๋ ํ์ผ๋ฉํฐ ๋งต์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ํค๋ ํ์ผ์ ๋ถ๋ฌ์์ผ ํ๋ค.#include ๋ฉค๋ฒ ํจ์ ์ฌ์ฉ ๋ฐฉ๋ฒmap๊ณผ ์ฌ์ฉ ๋ฐฉ๋ฒ์ด ๋น์ทํ๋ค.๋ฐ๋ก๊ฐ๊ธฐ : https://dev-astra.tistory.com/244 [C++] ๋งต(Map)๋งต(Map) ํน์ง ์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค. ์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ์๋ค. string : int ํํ๋ก ๊ฐ์ ํ ๋นํด์ผ ํ ๋ ๋งต์ ์ฌ์ฉํ๋ค. ํค(Key)์ ๊ฐ(Value) ํํ๋ก ์ด๋ฃจdev-astra.tisto..
2022.11.08 -
- [C++] unordered_map
unordered_map ํน์งmap๋ณด๋ค ๋ ๋น ๋ฅธ ํ์์ ํ๊ธฐ ์ํ ์ปจํ ์ด๋ํด์ ํ ์ด๋ธ(Hash Table)์ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌํ๋์๋ค.์ฝ์ , ์ญ์ , ํ์์ ๋ํด์ $O(1)$ ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค. ๊ฐ์ฅ ์ต์ ์ ๊ฒฝ์ฐ $O(N)$ ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.map์ ์ฝ์ , ์ญ์ ํ์ ์๊ฐ ๋ณต์ก๋๋ $O(\log n)$ ์ด๋ค.์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ง ์๋๋ค.map์ ๋นํด ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ ์๋ฑํ ์ข์ ์ฑ๋ฅ์ ๋ณด์ธ๋ค.ํ์ง๋ง, ํค(Key)๊ฐ ์ ์ฌํ ๋ฐ์ดํฐ๊ฐ ๋ง์ ๊ฒฝ์ฐ, ํด์ ์ถฉ๋๋ก ์ธํด ์ฑ๋ฅ์ด ๋จ์ด์ง ์๋ ์๋ค. ํค๋ ํ์ผunordered_map์ ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ ํค๋ ํ์ผ์ ๋ถ๋ฌ์์ผ ํ๋ค.#include ๋ฉค๋ฒ ํจ์ ์ฌ์ฉ ๋ฐฉ๋ฒ์์๊ฐ ์ฝ์ ๋ ๋ ํค(Key)๊ฐ ์ ๋ ฌ๋์ง ์๋๋ค๋ ๊ฒ์ ๋นผ๊ณ ๋ map๊ณผ ์ฌ์ฉ..
2022.11.08 -
- [C++] map(๋งต)
map(๋งต) ํน์ง์ฐ๊ด ์ปจํ ์ด๋(Associative Container) ์ค ํ๋์ด๋ค.์ฐ๊ด ์ปจํ ์ด๋์๋ set, multiset, map, multimap ์ด ์๋ค.string : int ํํ๋ก ๊ฐ์ ํ ๋นํด์ผ ํ ๋ ๋งต์ ์ฌ์ฉํ๋ค.ํค(Key)์ ๊ฐ(Value) ํํ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๋ ๋-๋ธ๋ ํธ๋ฆฌ(Red-Black Tree)๋ผ๋ ๊ตฌ์กฐ๋ฅผ ๋ด์ฅํ๊ณ ์๋ค.๋ ธ๋ ๊ธฐ๋ฐ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ท ํ ์ด์ง ํธ๋ฆฌ ๊ตฌ์กฐ์ด๋ค.pair ๊ฐ์ฒด ํํ๋ก ํค(Key)์ ๊ฐ(Value)์ด ์ ์ฅ๋๋ค.Key๋ ๊ณ ์ ํ ๊ฐ์ด๋ฏ๋ก ์ค๋ณต์ด ๋ถ๊ฐ๋ฅํ๋ค.์ค๋ณต Key๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด multimap์ ์ฌ์ฉํ๋ฉด ๋๋ค.์ฝ์ , ์ญ์ , ํ์์ ๋ํด์ $O(logN)$ ์ ๋์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค.์งํฉ(Set)๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ์ฝ์ ์ด ๋๋ฉด์ ์๋์ผ๋ก ์ ๋ ฌ์ด ๋๋ค.๋ฐ์ด..
2022.11.08