读书人

二叉树中如何创建双亲节点 求创建算法

发布时间: 2012-02-13 17:20:26 作者: rapoo

二叉树中怎么创建双亲节点 求创建算法
/*根据前序遍历结果创建一棵二叉树*/
void createbintree(bintree *t)
{
datatype ch;
if((ch=getchar())==' ')
*t = NULL;
else
{
*t = (bintnode*)malloc(sizeof(bintnode));/*根节点的创建*/
(*t)->parent = *t; //根节点的双亲就是它本身
(*t)->data = ch;
createbintree(&(*t)->lchild);
((*t)->lchild)->parent = *t;//左子树双亲的创建
createbintree(&(*t)->rchild);
((*t)->rchild)->parent = *t;//左子树双亲的创建
}
}

这个自己写的,有问题

[解决办法]
根据前序遍历的结果是不能得到二叉树的。
前、中、后,至少两种才能得到二叉树。
[解决办法]
只有一种序遍历是不能得到二叉树的。。。

当有前中、中后、前中后这样的才能得到惟一的二叉树、、、

读书人网 >软件架构设计

热点推荐