본문 바로가기

알고리즘을 위한 간략 정리/자료구조 - 연속 컨테이너

(4)
[C++] 우선순위 큐(PRIORITY_QUEUE) & 페어(PAIR) 사용법 개요우선순위 큐는 컨테이너 안의 자료들을 내림차순 혹은 오름차순으로 정렬해주는 자료형이다. 그런데 pair와 같이 자료가 두 개 이상이 되면 어떻게 될까??  간략하게 알아보도록 하자.  1. 기본 사용법(내림차순)첫 번째 인자를 기준으로 내림차순으로 정렬된다.첫 번째 인자가 같다면 두 번째 인자를 기준으로 내림차순 정렬된다.#include #include #include using namespace std;int main(void) { ios_base::sync_with_stdio(false); cin.tie(nullptr); priority_queue> pq; pq.push({1, 1}); pq.push({1, 2}); pq.push({2, 3}); pq.push..
[C++] 데큐(DEQUE) 핵심요약 앞뒤로 원소의 삽입, 삭제가 가능한 자료구조 원형큐 관련 문제에서 유용 기본 정의 vector와 같이 배열 기반의 구조이지만 vector의 단점을 보완 메모리가 부족할 때 새로운 메모리 블럭을 할당 ⇒ 삽입 시 성능 저하 X 헤더파일 및 선언 #include deque 변수명; 생성자 deque dq; //비어있는 deque dq를 생성 deque dq(10); //default(0) 값으로 초기화 된 10개의 원소를 가진 dq를 생성 deque dq(10, 4); //4의 값으로 초기화된 10개의 원소를 가진 dq를 생성 deque dq2(dq1); //dq1을 복사한 dq2를 생성. 삽입 및 삭제 관련 멤버함수 dq.clear(); //모든 원소를 제거합니다. dq.push_front(), ..
[C++] 우선순위 큐(PRIORITY_QUEUE) 핵심 요약우선 순위에 따라 정렬된 queue이다.heap으로 구현되어 있어, 특정 원소를 push할 때 생기는 정렬의 시간 복잡도는 logN에 실현된다.헤더파일 및 선언#include //라는 헤더파일을 따로 사용하지 않는다.priority_queue 변수명; //선언한 자료형 변수들을 비교함수에 따라 정렬.priority_queue, greater> pq; //올림차순, 가장 앞에 제일 작은 수가 오게된다.priority_queue pq; //내림차순, 가장 앞에 제일 큰 수가 오게된다.관련 함수(삽입, 삭제 등)priority_queue pq;pq.push(변수); //변수를 넣는다.pq.pop(); //맨 앞의 원소를 제거.pq.top(); //맨 앞의 원소를 반환.pq.empty(); //비어있..
[C++] 스택(STACK) 핵심요약 FILO(First In Last Out) 구조 괄호 문제와 같이 짝을 이루는 입력이 있을 때 주로 사용됨. 사용법 #include stack 변수명; //선언 문자열(string)? c++에서의 문자열(string)도 스택과 동일하게 사용이 가능하다.