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);
    }
}