두 갈래 트리 위조 코드
1435 단어 데이터 구조와 알고리즘
Node {
int key;
E item;
Node parent;
Node leftChild;
Node rightChild;
}
BinaryTree {
Node root;
Node find(int key)
void insert(Node newNode)
void traverse(Node startNode);
Node delete(int key);
}
Node find(int key) {
Node current = root;
while(current.key != key) {
if(current == null) {
return null;
}
if (current.key < key) {
current = current.leftChild;
} else if (current.key > key) {
current = current.rightChild;
} else {
return current;
}
}
return current;
}
void insert(Node newNode) {
if (root = null) {
root = newNode;
} else {
Node current = root;
while(true) {
Node parent = current;
if (key < current.key) {
current = current.leftChild;
if (current == null) {
//insert to parent left child
parent.leftChild = newNode;
newNode.parent = parent;
return;
}
} else {
current = current.rightChild;
if (current == null) {
//insert to parent right child
parent.rightChild = newNode;
newNode.parent = parent;
return;
}
}
}
}
}
//
void traverse(Node startNode) {
if (startNode != null) {
traverse(startNode.leftChild);
print(startNode.item);
traverse(startNode.rightChild);
}
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
두 갈래 나무의 깊이가 두루 다니다텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.