본문 바로가기
반응형

알고리즘91

[C++/STL] 셋(Set), 맵(Map) 1. 셋(Set) 셋(Set) 이란? - 완전 이진 트리 형태로 정렬되어 있기 때문에 빠른 검색 속도를 보장한다. - 원소 삽입, 삭제, 탐색 등의 연산은 O(logn)을 보장한다. - 중복된 원소는 추가할 수 없다. 셋 사용 방법 - 셋 선언 // 헤더 선언 필요 #include // int 자료형을 저장하는 셋 선언 set s; - 원소 추가 // 원소 n 추가 s.insert(n); - 원소 탐색 // 원소 n 찾기, 해당 원소가 존재하면 해당 주소 반환, 없으면 s.end() 반환. s.find(n); - 원소 제거 // 값이 n인 원소 제거 s.erase(n); // 모든 원소 제거 s.clear(); - 기타 // set의 크기(원소의 개수) 반환 s.size(); 2. 맵(Map) 맵(Map.. 2020. 6. 7.
[C++/STL] 페어(Pair) 페어(Pair) 페어(Pair) 란? - 2개의 데이터를 저장할 수 있는 변수이다. - sort등의 비교 연산에서는 1순위로 first, 2순위로 second를 기준으로 판단한다. 페어 사용 방법 - 페어 선언 // 헤더 선언 필요 #include // int, string 자료형을 저장하는 페어 선언 pair p; - 원소 저장 // 페어에 데이터 저장 시 make_pair를 이용한다. p = make_pair(5,"test"); - 원소 조회 // 첫 번째 인자 접근 p.first; // 두 번째 인자 접근 p.second; - vector등의 자료구조와 연계하여 사용 가능하다. vector vp; vp.push_back(make_pair(4, "test4"); 2020. 6. 7.
[C++/STL] 덱(Deque) 덱(Deque) 덱(Deque) 이란? - 맨 앞과 맨 뒤에 원소를 추가할 수 있는 자료구조이다. - 동적 배열 형태로 선언되어 있다. - 임의의 위치의 원소 접근이나 앞, 뒤에 원소 추가 시 O(1)을 보장한다. 덱 사용 방법 - 덱 선언 // 헤더 선언 필요 #include // int 자료형을 저장하는 덱 선언 deque dq; - 원소 추가 // 맨 뒤 원소 n 추가 dq.push_back(n); // 맨 앞 원소 n 추가 dq.push_front(n); // 맨 뒤 원소 제거 dq.pop_back(); // 맨 앞 원소 제거 dq.pop_front(); - 나머지 사용법은 벡터(Vector)와 동일하다. 2020/06/07 - [알고리즘/기본] - 알고리즘을 위한 C++ STL - 벡터(Vect.. 2020. 6. 7.
[C++/STL] 큐(Queue), 우선순위 큐(Priority Queue) 1. 큐(Queue) 큐(Queue) 란? - FIFO(First In Fisrt Out) 자료구조 - 가장 먼저 넣었던 데이터를 사용할 때 이용한다. 큐 사용 방법 - 큐 선언 // 헤더 선언 필요 #include // int 자료형을 저장하는 큐 선언 queue q; - 원소 추가 // 원소 n 삽입 q.push(n); - 맨 처음 원소 제거 // 맨 처음 원소 제거 q.pop(); - 맨 처음 원소 조회 // 맨 처음 원소 조회 q.front(); - 기타 // 큐이 비어있는지 확인 // 원소가 없으면 true, 원소가 있으면 false 반환 q.empty(); // 큐의 크기(원소의 개수) 조회 q.size(); 2. 우선순위 큐(Priority Queue) 우선순위 큐(Priority Queue.. 2020. 6. 7.
반응형