Data Structure
-
[Data Structure] multimap ์ฌ์ฉ๋ฒData Structure 2020. 11. 8. 21:32
์ด ๊ธ์ c++์ stl ์ค ํ๋์ธ multimap ์ฌ์ฉ๋ฒ์ ๋๋ค. multimap multimap์ map๊ณผ ๊ฐ์ด key์ value๋ก ๊ตฌ์ฑ๋ container์ ๋๋ค. map๊ณผ๋ ๋ฌ๋ฆฌ key์ ์ค๋ณต์ด ํ์ฉํฉ๋๋ค. multimap์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋์ด ์์ต๋๋ค. multimap์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ #include์ ์ ์ธํด์ผ ํฉ๋๋ค. multimap์ binary search tree์ผ๋ก ์ดํ๋๊ธฐ ๋๋ฌธ์ ํ์์ ์๊ฐ ๋ณต์ก๋๋ O(log n)์ ๋๋ค. ํจ์ empty() multimap์ด ๋น์ด์๋์ง ํ์ธํ๋ ํจ์ if multimap is empty, return 1 else 0 size() mutlimap์ ํฌ๊ธฐ๋ฅผ ๋ฐํํ๋ ํจ์ return size_type (unsigned int) i..
-
[Data Structure] Set ์ฌ์ฉ๋ฒData Structure 2020. 3. 19. 23:10
C++ STL์ค ํ๋์ธ Set์ ๋ํ ์ค๋ช ์ ๋๋ค. Set ์ค๋ณต์ด ์๋ ์งํฉ์ ๋ํ๋ด๋ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. ๋ ธ๋ ๊ธฐ๋ฐ ๊ท ํ ์ปจํ ์ด๋๋ก ๊ท ํ ์ด์งํธ๋ฆฌ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. Set์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ #include ์ ์ ์ธํด์ผ ํฉ๋๋ค. Set ํํ๋ก Compare์๋ ๋น๊ต ํด๋์ค๊ฐ ๋ค์ด๊ฐ๋๋ค. ๋น๊ต ํด๋์ค์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ์ ๋๋ค. ํจ์ insert(element) set์ element์ ์ถ๊ฐํ๋ ํจ์ if element is contained, then not insert erase(element) set์์ key ์ ๊ฑฐํ๋ ํจ์ if element is contained, then element erase clear() set์ ์ด๊ธฐํํ๋ ํจ์ empty() s..
-
[Data Structure] unordered_map ์ฌ์ฉ๋ฒData Structure 2020. 3. 16. 22:04
C++ STL์ค ํ๋์ธ unordered_map์ ๋ํ ์ค๋ช ์ ๋๋ค. unorderd_map map๋ณด๋ค ๋ ๋น ๋ฅธ ํ์์ ํ๊ธฐ ์ํ ์๋ฃ๊ตฌ์กฐ์ ๋๋ค. unordered_map์ ํด์ฌํ ์ด๋ธ๋ก ๊ตฌํํ ์๋ฃ๊ตฌ์กฐ๋ก ํ์ ์๊ฐ๋ณต์ก๋๋ O(1)์ ๋๋ค. map์ Binary Search Tree๋ก ํ์ ์๊ฐ ๋ณต์ก๋๋ O(log n)์ ๋๋ค. unordered_map์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ #include ์ ์ ์ธํด์ผ ํฉ๋๋ค. unordered_map์ ์ค๋ณต๋ ๋ฐ์ดํฐ๋ฅผ ํ์ฉํ์ง ์๊ณ map์ ๋นํด ๋ฐ์ดํฐ๊ฐ ๋ง์ ์ ์๋ฑํ ์ข์ ์ฑ๋ฅ์ ๋ณด์ ๋๋ค. ํ์ง๋ง, key๊ฐ ์ ์ฌํ ๋ฐ์ดํฐ๊ฐ ๋ง์ ์ ํด์ ์ถฉ๋๋ก ์ธํด ์ฑ๋ฅ์ด ๋จ์ด์ง ์๋ ์์ต๋๋ค. ํจ์ empty( ) ๋งต์ด ๋น์ด์๋์ง ํ์ธํ๋ ํจ์ if unor..
-
[Data Structure] Priority_queue(์ฐ์ ์์ ํ) ์ฌ์ฉ๋ฒData Structure 2020. 3. 16. 20:55
C++ STL์ค ํ๋์ธ Priority_queue์ ๋ํ ์ค๋ช ์ ๋๋ค. Priority queue ์ด๋? priority queue๋ Compare(์ฐ์ ์์)์ ๋ง๊ฒ ์ค๊ณ๋ container ์ ๋๋ค. priority queue๋ heap๊ณผ ์ ์ฌํฉ๋๋ค. #include ๋ฅผ ์ ์ธํด์ผ priority queue๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. prioirty_queue , compare > ํํ ์ ๋๋ฆญํ๊ฒ ๊ตฌํ๋์ด ์ด๋ ํ type์ด๋ผ๋ ์์๊ฐ ๋ ์ ์์ผ๋ฉฐ, ๊ธฐ๋ณธ container๋ vector ์ ๋๋ค. compare๋ ๋น๊ต ํด๋์ค๋ก struct๋ฅผ ์๋กญ๊ฒ ๊ตฌํํ์ฌ ๋น๊ต ํด๋์ค๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ( ๊ธฐ๋ณธ๊ฐ์ผ๋ก ๋ด๋ฆผ์ฐจ์ ) ๊ธฐ๋ณธ ํจ์ empty( ) ํ๊ฐ ๋น์ด์๋์ง ..
-
[Data Structure] pair(ํ์ด) ์ฌ์ฉ๋ฒData Structure 2020. 3. 13. 02:06
C++ STL ์ค ํ๋์ธ pair์ ๋ํ ์ฌ์ฉ๋ฒ์ ๋๋ค. pair ๋? ๋ค๋ฅธ ํ์ ์ ๋ ๊ฐ์ฒด๋ฅผ ํ๋์ ๊ฐ์ฒด๋ก ํํํ๋ STL์ ๋๋ค. ๊ฐ๊ฐ์ ๊ฐ๋ค์ Member first์ Member second๋ก ์ ๊ทผํ ์ ์์ต๋๋ค. #include ๋ฅผ ์ ์ธํด์ผ pair๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ ํจ์ opearator = ๋์ ์ฐ์ฐ์ ๊ฐ๋ฅ swap ๋ ๊ฐ์ pair๋ฅผ ๋ฐ๊พธ๋ ํจ์ make_pair ( first, second ) pair๋ฅผ ๋ง๋๋ ํจ์ ์ค์ต ๊ฒฐ๊ณผ ์ถ๊ฐ๋ก ๊ถ๊ธํ ์ ์ด๋ ์์ ํ ์ฌํญ ์์ผ๋ฉด ๋๊ธ๋ก ๋จ๊ฒจ์ฃผ์ธ์.