在二叉查詢樹中插入節點

2021-08-01 07:59:26 字數 827 閱讀 9603

題目:

給定一棵二叉查詢樹和乙個新的樹節點,將節點插入到樹中。

你需要保證該樹仍然是一棵二叉查詢樹。

樣例給出如下一棵二叉查詢樹,在插入節點6之後這棵二叉查詢樹可以是這樣的:

2             2

/ \ / \

1 4 --> 1 4

/ / \

3 3 6

思路:當前的根節點如果是空節點,就將要插入的結點賦值給根節點。如果當前根節點不為空結點,比較要插入的結點的值和根節點的值,如果要插入的值大就將根節點移動到右子樹,如果要插入的值小就將根節點移動到左子樹。按照這個規則進行遞迴,當遞迴到乙個符合條件且是空的結點,就將要插入的結點放到這個空節點的位置。這樣這個在二叉查詢樹種插入節點的功能就大體實現了。下面看一下具體的**。

**:class solution

if(node->valval)

else root->left=insertnode(root->left,node);

}if(node->val>root->val)

else root->right=insertnode(root->right,node);

}return root;}};

感想:因為好幾天沒有做題,有些生疏。對於這個題的大體思路是不陌生的,但是這個函式返回的型別是節點,不知道如何在遞迴中儲存最初的根節點。這一點是我看了我之前的程式後明白的,用root->right=insertnode(root->right,node);**實現。平時對於**的練習不能鬆懈!!!

在二叉查詢樹中插入節點

給定一棵二叉查詢樹和乙個新的樹節點,將節點插入到樹中。你需要保證該樹仍然是一棵二叉查詢樹。樣例給出如下一棵二叉查詢樹,在插入節點6之後這棵二叉查詢樹可以是這樣的 2 2 1 4 1 4 3 3 6 definition of treenode public class treenode public...

在二叉查詢樹中插入節點

描述 給定一棵二叉查詢樹和乙個新的樹節點,將節點插入到樹中。你需要保證該樹仍然是一棵二叉查詢樹。樣例 給出如下一棵二叉查詢樹,在插入節點6之後這棵二叉查詢樹可以是這樣的 2 2 1 4 1 4 3 3 6 解題思路 要在二叉查詢樹的定義,如果要新增的節點值比根節點小,則把它新增到根節點的左子樹,若要...

在二叉查詢樹中插入節點

題目 給定一棵二叉查詢樹和乙個新的樹節點,將節點插入到樹中。你需要保證該樹仍然是一棵二叉查詢樹。樣例 給出如下一棵二叉查詢樹,在插入節點6之後這棵二叉查詢樹可以是這樣的 2 2 1 4 1 4 3 3 6 思路 根據二叉排序樹的性質,比根節點小的結點作為左子樹,比根節點大的結點作為右子樹,通過將插入...