尝试在网上进行了很多探索,但可以获得任何帮助,无处不在,就像在二叉搜索树中添加一个节点一样。
问题:请求向二叉树添加节点的算法和代码片段。(或指出我正确的网址)
假设:根据我的理解,二叉树和二叉搜索树是不同的?如果我错了,请纠正我。
(请求:如果您正在编写代码片段,请使用正确的变量名,这有助于理解)
例如:二叉树
5 7 3 x1 x2 x3
5
7 3
x1 x2 x3
二叉搜索树 5 7 3 2 4 6
5
3 7
2 4 6
insert(int key, struct node **root)
{
if( NULL == *root )`
{
*root = (struct node*) malloc( sizeof( struct node ) );`
(*root)->data = key;
(*root)->left = NULL;
(*root)->right = NULL;
}
else if(key < (*root)->data)
{
insert( key, &(*root)->left );
}
else if(key > (*root)->data)
{
insert( key, &(*root)->right );
}
}