Computer science/Algorithm

우선순위 큐

잔망루피 2021. 1. 25. 19:23

우선순위 큐

우선순위를 가진 항목들을 저장하는 큐

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