우선순위 큐
우선순위를 가진 항목들을 저장하는 큐
FIFO 순서가 아니라 우선순위가 높은 순서대로 먼저 나감
ex) 시뮬레이션 시스템, 네트워크 트래픽 제어, 운영체제의 태스크 스케줄링
구현
리스트를 이용한 우선순위 큐
1. 리스트를 이용하여 자료 저장
2. 원소를 삽입하는 과정에서 우선순위를 비교하여 적절한 위치에 삽입하는 구조
3. 가장 앞에 최고 우선순위의 원소가 위치
문제점
리스트를 사용하므로, 삽입이나 삭제 연산이 일어날 때 원소의 재배치가 발생
소요되는 시간이 많이 걸림
해결
PriorityQueue(maxsize)클래스 사용
힙 자료구조 사용
우선순위 큐 라이브러리 사용
기본 연산
삽입 : enQueue 우선순위에 맞게 삽입
삭제 : deQueue 가장 높은 우선순위부터 삭제
버퍼 : 데이터를 한 곳에서 다른 한 곳으로 전송하는 동안 일시적으로 그 데이터를 보관하는 메모리 영역
일반적으로 입출력 및 네트워크와 관련된 기능에서 이용
순서대로 입력/출력/전달되어야 하므로 FIFO 방식의 자료구조인 큐가 활용
버퍼링 : 버퍼를 활용하는 방식 또는 버퍼를 채우는 동작
by SW expert academy
반응형
'Computer science > Algorithm' 카테고리의 다른 글
Linked List (0) | 2021.01.29 |
---|---|
BFS(너비 우선 탐색) (0) | 2021.01.25 |
선형 큐 (0) | 2021.01.20 |
Queue (0) | 2021.01.20 |
분할정복 (0) | 2021.01.14 |