이 진 트 리 조작 (2)

3533 단어 데이터 구조
이 어 지난 편 에서 정리 한 바 와 같이 이 진 트 리 의 옮 겨 다 니 기 (재 귀, 비 재 귀) 에 관 한 블 로그: 이 진 트 리 의 생 성 우선 순위 중 순서 후속 재 귀 와 비 재 귀 를 옮 겨 다 니 며 트 리 가 이 진 트 리 인지 아 닌 지 판단 합 니 다.
bool isBST(Tree& root)
{
    if(!root)
    {
        return true;
    }
        if(root->left && root->right)
        {
            if((root->data < root->right->data) && (root->data > root->left->data))
            {
                return isBST(root->left)&&isBST(root->right);
            }
            else
            {
                return false;
            }
        }
        else if(root->left && !root->right)
        {
            if(root->left->data < root->data)
            {
                return isBST(root->left);
            }
            else
            {
                return false;
            }
        }
        else if(root->right && !root->left)
        {
            if(root->data < root->right->data)
            {
                return isBST(root->right);
            }
            else
            {
                return false;
            }
        }
        else
        {
            return true;
        }
}

좋은 웹페이지 즐겨찾기