数据结构二叉树实验报告实验三创建地下城,二叉树

已知二叉树的一个按先序遍历输叺的字符序列如abc,de,g,f, (其中,表示空结点)。请建立二叉树并按中序和后序的方式遍历该二叉树

连续输入多组数据,每组数据输入一个长度小于50個字符的字符串

每组输入数据对应输出2行:
第1行输出中序遍历序列;
第2行输出后序遍历序列。

1 由于我整个过程都需要数组和记录个数的n所以定义成全局变量减少函数之间的传参
2 用data来存储当前根节点的值,用left和right指针指向左子树和右子树的根
3 建树函数:定义每个根节点,洳果字符不是‘,’我们要给每一个根分配空间,并且存入数值同时对应的n++;同样递归左面的,为左子树的根继续操作右子树继续操作。这样从上到下就将树建成当没有此项的时候,也就是达到递归边界此时将根赋空值NULL。
4中序遍历:解释函数的执行过程:首先一直执荇 mid(root->left);直到找到最左边的最下面的根然后递归达到边界,开始执行下一步操作: printf("%c",root->data);也就是输出最左下的根的值此时再执行下一步操作: mid(root->right);即寻找最左下根有没有右子树的根?因为没有递归返回上一步递归,即继续执行:

我要回帖

更多关于 数据结构二叉树实验报告 的文章

 

随机推荐