我最近为我正在开发的一个项目完成了二叉搜索树的实现。它进展顺利,我学到了很多东西。然而,现在我需要实现一个普通的二叉树...由于某种原因我已经难倒了。二叉树插入算法
我正在寻找一种方式做我的InsertNode功能..
通常在BST你只检查数据是否<根然后插入左,反之亦然。然而,在一个正常的二叉树,它只是从左到右,一次一个级别填充..
任何人都可以帮助我实现一个函数,只是从左到右添加一个新的节点到二叉树没有特定的顺序?
这是我的一个BST插入:
void Insert(Node *& root, int data)
{
if(root == nullptr)
{
Node * NN = new Node;
root = NN;
}
else
{
if(data < root->data)
{
Insert(root->left, data);
}
else
{
Insert(root->right, data);
}
}
}
一二叉搜索树是一种二叉树,其中节点中的数据以特定方式排序。所以,如果你已经实施了BST,你没有什么可做的...... –
没错。这就是我卡住的地方,但我没有看到这样做的简单方法... – Taylor
我应该只更改< >检查以查看它们是否为空? – Taylor