创建一个二叉树,并实现查找从根节点到任意给定节点的路径。
(1)输入的形式和输入值的范围:
A
/ \
B C
/ \ \
D E F
输入值的范围:用户可以输入各种形式的字符来表示二叉树的结点,可以是大写字母,小写字母,数字等字符,但对于空节点只能用“#”表示
(2)程序所能达到的功能;
通过输入的字符串构建二叉树。用户需要输入一个表示二叉树结构的字符串,程序会根据这个字符串构建出对应的二叉树。
实现二叉树的前序遍历、中序遍历和后序遍历。前序遍历是指先访问根节点,然后访问左子树,最后访问右子树;中序遍历是指先访问左子树,然后访问根节点,最后访问右子树;后序遍历是指先访问左子树,然后访问右子树,最后访问根节点。这些遍历方法都可以使用非递归的方式实现。
计算从根节点到指定节点的路径长度。用户可以输入一个指定的节点值,程序会计算出从根节点到该节点的路径长度。
退出系统时,释放二叉树占用的空间。在程序结束时,会调用BiTreedestroy函数来释放二叉树占用的内存空间
(3) 测试数据:
测试数据案例:
1. 输入二叉树的字符串表示:ABD##E##C#F##
输出结果:
前序遍历:A B D E C F
中序遍历:D B E A C F
后序遍历:D E B F C A
请输入指定结点的值:C
根节点到当前结点的路径为: A C
从根结点到给定结点之间路径的长度:1
(1)编写一个查询二叉树的系统,要求如下:
输入二叉树的字符串表示,例如:"ABD##E##C#F##",其中"#"表示空节点,"A", "B", "D", "E", "C", "F"表示结点的值。
选择菜单中的选项进行操作,包括:
1.求二叉树的前序遍历
2.求二叉树的中序遍历
3.求二叉树的后序遍历
4.求从根结点到给定结点之间路径的长度
5.退出系统
如果选择求从根结点到给定结点之间路径的长度,需要输入指定结点的值,例如:"C"。