본문 바로가기

자료구조와 알고리즘15

Certi Pro 취득을 위해 꼭 알아야 할 STL Container : Adaptors 지난 포스팅에서는 STL에 정의된 자료구조 중 Unordered Associative Container에 대해 알아보았다. Unordered Associative Container : Certi Pro 취득을 위해 꼭 알아야 할 STL Container : Unordered Associative 이번 포스팅에서는 마지막으로 Adaptors Container에 대해 알아보자. ① Adaptors란? C++ STL Container 중 Adaptors란, 다른 컨테이너를 기반으로 새로운 인터페이스를 제공하는 Container이다. Adaptors는 Sequence container 활용하여 stack, queue, priority_queue 등의 interface를 제공한다. stack은 기본적으로 dequ.. 2023. 5. 17.
Certi Pro 취득을 위해 꼭 알아야 할 STL Container : Unordered Associative 저번 포스팅에서는 STL에 정의된 자료구조 중 Associative Contatiner에 대해 알아보았다. Associative Container : Certi Pro 취득을 위해 꼭 알아야 할 STL Container : Associative 이번 포스팅에서는 Unordered Associative Container에 대해 알아보자. ① hash table 해시 테이블은 데이터를 빠르게 검색하기 위한 자료구조로, key와 value로 이루어진 데이터를 저장하는 자료구조이다. 해시 함수는 Key를 받아 해시 테이블(bucket) 내에서 유일한 인덱스를 생성하는 함수이다. 해시 함수는 Key값의 분포를 고르게 만들어야 하는데, 특정 데이터에 대해 동일한 인덱스를 반환한다면, 해시 충돌이 발생한다. 해시 충.. 2023. 5. 6.
Certi Pro 취득을 위해 꼭 알아야 할 STL Container : Associative 저번 포스팅에서는 STL에 정의된 자료구조 중 Sequence Contatiner에 대해 알아보았다. Sequence Container : Certi Pro 취득을 위해 꼭 알아야 할 STL Container : Sequence 이번 포스팅에서는 Associative Container에 대해 알아보자. ① set set은 Red-Black Tree(Self Balancing Binary Search Tree)로 구현된, 우선순위가 존재하는 자료구조이다. 프로 시험에서는 priority_queue와 비교하여 자주 사용되는데, 우선순위가 존재하는 자료구조를 저장하되 특정 위치의 자료구조의 값을 수정해야 할 때 주로 set을 사용했다. priority_queue처럼 우선순위에 따라 정렬이 되면서, 특정 위치의.. 2023. 4. 12.
Certi Pro 취득을 위해 꼭 알아야 할 STL Container : Sequence 이전 글 : Certi Pro 취득을 위해 꼭 알아야 할 iterator Pro 시험에 STL 사용이 가능해지면서, STL에 구현된 자료구조를 사용하는 방법과 자료구조의 장단점을 익히는 것이 중요해졌다. 어떤 상황에 어떤 자료구조를 쓰는 것이 유리한지, 그 자료구조를 어떻게 활용하는지를 중점을 두고 공부해야 한다. Pro에서 자주 사용되는 자료구조는 다음과 같다. 1) Sequence : vector, list 2) Associative : set, map 3) Unordered Associative : unordered_set, unordered_map 4) Adaptors : priority_queue, (stack) 물론 이 외에도 queue, deque, multi_set, multi_map 등 .. 2023. 4. 10.