BinarySearchTree

BinarySearchTree

Binary Search Tree 클래스

Constructor

new BinarySearchTree()

Source:

Methods

_findMinimum(startNode) → {number}

Source:
startNode를 root 로 하는 subtree에서 가장 작은 값을 리턴한다.
Parameters:
Name Type Description
startNode BinaryTreeNode
Returns:
가장 작은 값.
Type
number

(generator) _findMinimumGen(startNode) → {BinarySearchTree}

Source:
remove 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name Type Description
startNode BinaryTreeNode
Returns:
가장 작은 값.
Type
number
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
Type
BinarySearchTree

_removeRecursive(node, value)

Source:
재귀적으로 remove를 구현하는 헬퍼 함수.
Parameters:
Name Type Description
node BinaryTreeNode 지우려는 노드.
value number 지우려는 값.
Throws:
지우려는 값이 존재하지 않으면 예외 발생.
Type
NON_EXIST_VALUE

(generator) _removeRecursiveGen(node, value) → {BinarySearchTree}

Source:
removeRecursive 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name Type Description
node BinaryTreeNode 지우려는 노드.
value number 지우려는 값.
Throws:
지우려는 값이 존재하지 않으면 예외 발생.
Type
NON_EXIST_VALUE
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
Type
BinarySearchTree

find(value) → {BinaryTreeNode}

Source:
value 가 BST 안에 있으면 해당 node를 리턴, 없으면 false 리턴.
Parameters:
Name Type Description
value number
Returns:
찾은 node를 리턴, value가 BST안에 없으면 false 리턴.
Type
BinaryTreeNode

insert(value) → {BinarySearchTree}

Source:
bst 에 주어진 값을 알맞은 위치에 넣는다.
Parameters:
Name Type Description
value number
Throws:
  • value가 number타입이 아닐 경우 예외 발생.
    Type
    INVALID_VALUE
  • value가 이미 존재할 경우 예외 발생.
    Type
    EXIST_VALUE
Returns:
주어진 값이 삽입된 자기 자신 리턴.
Type
BinarySearchTree

(generator) insertGen(value) → {BinarySearchTree}

Source:
insert 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name Type Description
value number
Throws:
  • value가 number타입이 아닐 경우 예외 발생.
    Type
    INVALID_VALUE
  • value가 이미 존재할 경우 예외 발생.
    Type
    EXIST_VALUE
Returns:
주어진 값이 삽입된 자기 자신 리턴.
Type
BinarySearchTree
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
Type
BinarySearchTree

remove(value)

Source:
해당 value를 찾아서 삭제한다.
Parameters:
Name Type Description
value number

(generator) removeGen(value) → {BinarySearchTree}

Source:
remove 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name Type Description
value number
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
Type
BinarySearchTree

size() → {number}

Source:
현재 BST 안에 있는 노드의 개수를 리턴한다.
Returns:
노드의 개수
Type
number