Heap

Heap

Heap 클래스.

Constructor

new Heap(max)

Source:
Heap 클래스의 생성자 함수.
Parameters:
Name Type Default Description
max boolean true max 프로퍼티가 true 이면 maxHeap, false 이면 minHeap 이다.

Methods

_compare(parentIndex, childIndex) → {boolean}

Source:
maxHeap 과 minHeap 을 구분짓는 비교 함수.
Parameters:
Name Type Description
parentIndex number
childIndex number
Returns:
부모와 자식 노드의 값의 대소 관계 비교 결과를 boolean으로 리턴.
Type
boolean

insert(value, isSnapshot) → {Heap}

Source:
트리의 가장 아래에 value를 삽입한 뒤, 맞는 위치에 올때까지 위로 올린다.
Parameters:
Name Type Default Description
value number
isSnapshot * false
Throws:
value가 number타입이 아닌 경우 예외 발생.
Type
INVALID_VALUE
Returns:
insert 완료된 자기 자신을 리턴한다.
Type
Heap

(generator) insertGen(value) → {Heap}

Source:
insert 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name Type Description
value number
Throws:
value가 number타입이 아닌 경우 예외 발생.
Type
INVALID_VALUE
Returns:
insert 완료된 자기 자신을 리턴한다.
Type
Heap
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
Type
Heap

pop(isSnapshot) → {*}

Source:
트리의 root 에 있는 값을 리턴하고 가장 마지막에 있는 값을 root로 옮긴 다음, 맞는 위치에 올때까지 밑으로 내린다.
Parameters:
Name Type Default Description
isSnapshot * false
Returns:
root에 있는 노드의 value.
Type
*

(generator) popGen() → {Heap}

Source:
pop 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Returns:
root에 있는 노드의 value.
Type
*
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
Type
Heap

size() → {number}

Source:
현재 heap의 노드 개수를 반환.
Returns:
Type
number