ASSINGMENT/자료구조
[과제] 이진트리 함수 구현부
이빨빠진 옥수수
2023. 5. 8. 17:01
dfs이용하여 search 함수 구현
BinaryNode* BinSrchTree::search(BinaryNode* n, int key) {
if(n==NUll){
return nullptr;
}
if(n->val==key){
return n;
}
Node* left = dfs(root->left, key);
if (left != nullptr) {
return left;
}
Node* right = dfs(root->right, key);
if (right != nullptr) {
return right;
}
return nullptr;
}
이진트리의 높이를 노드의 뿌리부터 가장 깊은 노드 리프까지의 거리라고 정의할 때,
다음과 같이 높이를 구하는 함수를 구현했다.
int Bindepth(BinaryNode* root){
if (root == nullptr) {
return 0;
int left_height = getHeight(root->left);
int right_height = getHeight(root->right);
return 1 + max(left_height, right_height);
}
}