[数据结构]如何根据输入的中序遍历生成一颗2叉树
[数据结构]如何根据输入的中序遍历生成一颗2叉树
如何根据输入的中序遍历生成一颗2叉树,当然输入中包括如果没有这个节点,就输入0告诉程序,因此根据此输入生成唯一一颗二叉树。
我已经实现了前序遍历生成,《数据结构》上也有,但如何以中序遍历生成?
如果有生成逆波兰、波兰式生成的也一样,(非栈)
[数据结构]如何根据输入的中序遍历生成一颗2叉树
如何根据输入的中序遍历生成一颗2叉树,当然输入中包括如果没有这个节点,就输入0告诉程序,因此根据此输入生成唯一一颗二叉树。
我已经实现了前序遍历生成,《数据结构》上也有,但如何以中序遍历生成?
如果有生成逆波兰、波兰式生成的也一样,(非栈)
好像是前序和中序一起才可以确定一个2叉树吧
中序不能确定一个2叉树
再次提示!!!!
当然输入中包括 如果没有这个节点,就输入0告诉程序,因此根据此输入生成唯一一颗二叉树。
记住,0节点输入中也包括!!!!
给你个思路看看怎么样
按你的做发,输入时是按树的全部结点输入的,那么输入结束后
树的大小也就知道了,而又是中序,也就是说
你可以很容易的判断哪个地方是根,哪个地方是叶
比如输入7个数 1 2 3 4 5 6 7(其中可以有0,表示该结点没)
那么可以这样判断,这几数中处于中间位置的就是根,这里是4
然后在依次判断左边(1 2 3)和右边(5 6 7)
左边的仍是处于中间位置的是根这里是2,右边同样的,
再这样下去,直到只有一个了,那就是叶结点
不知道合不合你意