Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- ps
- BST
- BHS
- dp
- 릿코드
- 관계형 모델
- boot sequence
- 문제풀이
- Embedded
- Network
- 데이터베이스
- 네트워크
- 프로그래머스
- Djikstra
- Application Layer
- 임베디드
- Transport layer
- 응용 계층
- baekjoon
- Database
- swea
- 자료구조
- 다익스트라
- leetcode
- STL
- C++
- 백준
- DB
- 부트시퀀스
- 전송 계층
Archives
- Today
- Total
BOBO's Note
Priority Queue 본문
우선순위 큐(Priority Queue)는 우선순위가 높을수록 앞쪽에 위치하는 큐이다.
내부적으로는 heap 자료구조를 사용하므로 전체 N개의 데이터가 존재할 때, 큐의 첫번째 요소를 얻는 데에 O(1), 삽입 및삭제는 O(logN)의 시간이 걸린다.
Heap
- 추가 예정 -
C++
<queue>에 정의되어 있으며 element 타입, 컨테이너 형식(vector 또는 deque), 정렬 기준(less 또는 greater)을 지정해줄 수 있다.
더보기
컨테이너 적응자(container adaptor)에는 stack, queue, priority_queue가 있다. 컨테이너 적응자의 특징은 다음과 같다.
-
순차 컨테이너보다 축소된 인터페이스를 제공한다.
-
STL 알고리즘을 직접 적용할 수 없다.
-
element 타입, 순차 컨테이너 형식을 지정할 수 있는 클래스 템플릿이다. 순차 컨테이너 형식은 vector, deque, list 중 하나로 지정할 수 있는데 이를 명시하지 않으면 default로 deque가 쓰인다.
다음과 같은 연산을 지원한다.
-
size(): 우선순위 큐의 크기를 반환한다.
-
empty(): 우선순위 큐가 비어있다면 true를, 그렇지 않다면 false를 반환한다.
-
top(): 우선순위 큐의 맨 앞 원소를 반환한다.
-
push(): 우선순위 큐의 맨 앞에 원소를 추가한다.
-
pop(): 우선순위 큐의 맨 앞에 있는 원소를 삭제한다.
-
emplace(): C++11부터 지원한다. 우선순위 큐의 맨 앞의 위치에 바로 생성하므로 좀 더 빠르다!
'C, C++ > STL' 카테고리의 다른 글
Associative Container (0) | 2020.06.24 |
---|---|
Tuple (0) | 2020.05.31 |
Deque (0) | 2020.05.23 |
Comments