PriorityQueue

PriorityQueue

우선순위 큐의 구현은 힙과 거의 흡사하다. 우선순위(priority) 가 작을수록(0에 가까울수록) 우선순위가 높은 노드이다.

Constructor

new PriorityQueue()

Source:
우선순위큐 생성

Methods

dequeue(isSnapshot) → {PriorityNode}

Source:
우선순위가 가장 낮은 노드를 pop 해서 리턴하고, 남은 노드들을 우선순위대로 정렬한다.
Parameters:
Name Type Default Description
isSnapshot boolean false
Returns:
노드 자체를 리턴한다.l
Type
PriorityNode

(generator) dequeueGen() → {PriorityQueue}

Source:
dequeue 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Returns:
노드 자체를 리턴한다.
Type
PriorityNode
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
Type
PriorityQueue

enqueue(value, priority, isSnapshot) → {PriorityQueue}

Source:
새로운 노드를 생성해서 큐에 삽입, 우선순위에 맞는 위치로 이동시킨다.
Parameters:
Name Type Default Description
value *
priority number
isSnapshot boolean false
Throws:
만약 priority가 number가 아니라면 예외 발생
Type
INVALID_VALUE
Returns:
자기 자신.
Type
PriorityQueue

(generator) enqueueGen(value, priority) → {PriorityQueue}

Source:
enqueue 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name Type Description
value *
priority number
Throws:
만약 priority가 number가 아니라면 예외 발생
Type
INVALID_VALUE
Returns:
자기 자신.
Type
PriorityQueue
Yields:
진행 상황이 시각적으로 표시된 자기 자신.
Type
PriorityQueue

size() → {number}

Source:
현재 우선순위 큐의 요소 개수를 리턴한다.
Returns:
Type
number