二叉查找樹

基本操作

1. 二叉查找樹元素的插入

    void insertNode(TreeNode *root, TreeNode *node)
    {
        if (node->value < root->value) {  // 如果待插入的節(jié)點(diǎn)的值小于此時訪問到的節(jié)點(diǎn)的值, 說明要在此時訪問的節(jié)點(diǎn)的左子樹進(jìn)行操作
            if (root->left) {  // 如果左子樹不為空, 就繼續(xù)訪問左子樹
                insertNode(root->left, node);
            }
            else {  // 如果左子樹為空,直接將待插入的節(jié)點(diǎn)插入
                root->left = node;
            }
        }
        else {
            if (root->right) {
                insertNode(root->right, node);
            }
            else {
                root->right = node;
            }
        }
    }

2. 二叉查找樹的查找操作

    bool searchNode(TreeNode *root, int target)
    {
        if (root->value == target) {
            return true;
        }
        if (root->value > target) {  // 左子樹
            if (!root->left)  {
                return false;
            }
            else {
                searchNode(root->left, target);
            }
        }
        if (root->value < target) {  // 右子樹
            if (!root->right) {
                return false;
            }
            else {
                searchNode(root->right, target);
            }
        }
    }

題目

TODO

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。