Constructor
new BTree(limit)
BTree 클래스의 생성자로 현재 n이 홀수인 Btree만 구현되어 있습니다.
Parameters:
Name | Type | Description |
---|---|---|
limit |
* |
Methods
_bindNode(parent, index) → {BTreeNode}
형제 노드와 합친다.
Parameters:
Name | Type | Description |
---|---|---|
parent |
BTreeNode | |
index |
number |
Returns:
합쳐진 노드를 리턴한다.
- Type
- BTreeNode
(generator) _bindNodeGen(parent, index) → {BTree}
_bindNode 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name | Type | Description |
---|---|---|
parent |
BTreeNode | |
index |
number |
Returns:
합쳐진 노드를 리턴한다.
- Type
- BTreeNode
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
- Type
- BTree
_borrowKey(parent, index) → {boolean}
형제 노드에게서 value를 빌려온다.
Parameters:
Name | Type | Description |
---|---|---|
parent |
BTreeNode | |
index |
number |
Returns:
빌려 오는 것이 가능한지 여부를 리턴한다.
- Type
- boolean
(generator) _borrowKeyGen(parent, index) → {BTree}
dequeue 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name | Type | Description |
---|---|---|
parent |
BTreeNode | |
index |
number |
Returns:
빌려 오는 것이 가능한지 여부를 리턴한다.
- Type
- boolean
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
- Type
- BTree
_split(parent, key) → {BTreeNode}
하나의 노드를 분할한다. 분할된 노드의 부모 노드를 리턴한다.
Parameters:
Name | Type | Description |
---|---|---|
parent |
BTreeNode | |
key |
number | 기준이 되는 value값 |
Returns:
분할된 노드의 부모 노드.
- Type
- BTreeNode
(generator) _splitGen(parent, key) → {BTree}
_swap 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name | Type | Description |
---|---|---|
parent |
BTreeNode | |
key |
number | 기준이 되는 value 값 |
Returns:
분할된 노드의 부모 노드.
- Type
- BTreeNode
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
- Type
- BTree
_swap(delNode, index) → {*}
remove 메소드에서 사용되는 swap 헬퍼 함수.
Parameters:
Name | Type | Description |
---|---|---|
delNode |
BTreeNode | 삭제될 노드. |
index |
number | 삭제를 위해 검색을 시작할 자식노드의 index. |
Returns:
삭제할 값을 리턴.
- Type
- *
(generator) _swapGen(delNode, index) → {BTree}
_swap 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name | Type | Description |
---|---|---|
delNode |
BTreeNode | 삭제될 노드. |
index |
number | 삭제를 위해 검색을 시작할 자식노드의 index. |
Returns:
삭제할 값을 리턴.
- Type
- *
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
- Type
- BTree
find(value) → {BTreeNode}
b-tree 에서 해당 값을 찾는다.
Parameters:
Name | Type | Description |
---|---|---|
value |
* |
Returns:
찾은 노드를 반환한다. 값이 존재하지 않으면 false를 반환한다.
- Type
- BTreeNode
insert(value) → {BTree}
b-tree에 주어진 값을 삽입한다.
Parameters:
Name | Type | Description |
---|---|---|
value |
* |
Throws:
-
이미 값이 존재하면 예외 발생.
- Type
- EXIST_VALUE
Returns:
값이 삽입된 자기 자신 리턴.
- Type
- BTree
(generator) insertGen(value) → {BTree}
insert 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name | Type | Description |
---|---|---|
value |
* |
Throws:
-
이미 값이 존재하면 예외 발생.
- Type
- EXIST_VALUE
Returns:
값이 삽입된 자기 자신 리턴.
- Type
- BTree
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
- Type
- BTree
remove(value) → {boolean}
b-tree 에서 주어진 값을 삭제한다.
Parameters:
Name | Type | Description |
---|---|---|
value |
* |
Throws:
-
주어진 값이 존재하지 않으면 예외 발생.
- Type
- NON_EXIST_VALUE
Returns:
삭제한 뒤 true를 반환한다.
- Type
- boolean
(generator) removeGen(value) → {BTree}
remove 메소드의 진행 상태를 generate 하는 제너레이터 함수.
Parameters:
Name | Type | Description |
---|---|---|
value |
* |
Throws:
-
주어진 값이 존재하지 않으면 예외 발생.
- Type
- NON_EXIST_VALUE
Returns:
삭제한 뒤 true를 반환한다.
- Type
- boolean
Yields:
진행 상태가 시각적으로 표시된 자기 자신.
- Type
- BTree
size() → {number}
현재 BTree에 있는 노드 개수를 리턴한다.
Returns:
- Type
- number