小女跪求数据结构答案

来源:百度知道 编辑:UC知道 时间:2024/05/09 12:24:54
题目不难,怎奈小女能力太差~~~555
请各位大侠伸出援助之手,数据结构,以C语言解答

9、三个结点可以构造出多少棵不同的树?又可以构造出多少棵不同的二叉树?请绘图说明。
10、如果二叉树的后序遍历序列为abcdefghi,中序遍历序列为abdciehfg,请恢复这棵二叉树。
11、编写一个递归算法,计算二叉树的深度。
12、编写一个非递归算法,交换二叉树的左子树和右子树。
13、编写一个非递归算法,查找二叉分类树中值为b的结点。

呵呵
(9)这个题目就没有办法帮组你了哦(图形不好表示)

(10) 恢复后的二叉树的前序为:idbachegf
层次为: 1层:i
2层:dh
3层:bceg
4层:af
(11)求二叉树的深度:
int Layer(BT *Tree) //定义一个BT类型的 Tree
{
// Llayer 为左子树的深度 Rlayer为右子树的深度
int Llayer,Rlayer;
if(Tree==NULL)
return 0;
else
{
//深入Tree的左子树
Llayer=Layer(Tree->Lchild);
//深入Tree的右子树
Rlayer=Layer(Tree->Tchild);
if(Llayer>Rlayer)
return Llayer+1;
else
return Rlayer+1;
}
}
(12)不好意思由于时间问题现在还没有想到!呵呵!
(13)void Find(BT *Tree,data b)
{
int i,j;//i为第几层,j为第i层上的j元素
//定义一个temp的队列用来存储Tree
BT *temp[MA