우선순위큐ADT는 임의의 데이터 항목이 삽입되며, 일정한 순서에 의해 삭제되는 데이터구조이다
우선순위 큐에 저장되는 데이터 항목은 (키, 원소)쌍으로 정의된다
Ex) 우편배달부가A는 우편물을 가방에 아무렇게나 담아서 각각의 주소에 도착했을 때, 우편물을 가방에서 찾아서 배달한다.
반면, 우편배달부B는 우편물을 가방에 순서대로 담아서 각각의 주소에 도착했을 때, 우편물을 꺼내서 바로 배달한다.
이 경우 주소는 키가되고, 원소는 우편물이 된다
A의 경우, 삽입은 빠르지만, 삭제가 느리다
B의 경우, 삽입은 느리지만, 삭제가 느리다
우선순위 큐ADT메소드
1) 주요메소드
insertItem(k, e) - 키k인 원소e를 큐에 삽입
element removeMin() - 큐로부터 최소 키를 가진 원소를 삭제하여 반환
2) 일반메소드
integer size() - 큐의 항목 수를 반환
boolean isEmpty() - 큐가 비어 있는지 여부를 반환
3) 접근메소드
element minElement() - 큐에서 최소 키를 가진 원소를 반환
element minKey() - 큐에서 최소 키를 반환
4) 예외메소드
emptyQueueException() - 비어 있는 큐에 대해 삭제나 원소 접근을 시도할 경우 발령
fullQueueException() - 만원 큐에 대해 삽입을 시도할 경우 발령
-----------------------------------------------------------------------------------------------------------------------------------------------------------------
정렬이란 데이터 원소들의 키순서에 의해 재배치하는 것이다
'알고리즘' 카테고리의 다른 글
[알고리즘] 힙과 힙정렬(1) - 설명 (0) | 2018.12.12 |
---|---|
[알고리즘] 우선순위 큐(2) - 예제 (0) | 2018.12.07 |
[알고리즘] 기본 추상자료형(10) - 예제(트리ADT) (0) | 2018.12.05 |
[알고리즘] 기본 추상자료형(9) - 예제(트리ADT) (0) | 2018.12.05 |
[알고리즘] 기본 추상자료형(8) - 예제(트리ADT) (0) | 2018.12.05 |