遍历二叉树口诀 设某二叉树的后序序列为cba,中序序列为abc,则前序序列为什么?
浏览量:1944
时间:2021-03-11 03:00:25
作者:admin
设某二叉树的后序序列为cba,中序序列为abc,则前序序列为什么?
前序遍历过程是关于根的,中序遍历过程是关于左根和右根的。因此,可以根据前序快速确定根,然后查看根在中序中的位置。中目分为左右树两部分。按照上述方法,可以确定左子树和右子树的根。例如,根据前序,可以确定a为根,确定a在中序中的位置,确保CB是a的左子树上的节点,而不存在右子树。确定a后,将中间顺序的第二个值视为B,并检查B在中间顺序中的位置。C在B的左边,确定C是B的左子树,所以这个问题的具体二叉树如下:所以后序是CBA
前序的顺序:根->左->右中序:左->根->右后序:左->右->根前序:A,B,D,F,J,G,K,C,e、 h,I,l,M中间顺序:J,F,D,K,G,B,a,h,e,l,I,M,C后顺序:J,F,K,G,D,B,h,l,M,I,e,C,a
前顺序:根节点,前顺序遍历左子树,前顺序遍历右子树中间顺序:中间顺序遍历左子树,根节点,中间顺序遍历右子树。因此,如果二者的遍历结果相同,则整个二叉树中的每个节点应该没有左子节点,只有右子节点。换句话说,前序和中间序遍历变成:前序:根节点,前序遍历右子树,中间序:根节点,中间序遍历右子树
假设根是a,左子是B,右子是C。其中a,B和C也是二叉树。如果两个遍历是“相反的”,则B必须为空或C必须为空。因此,标准答案应该是:任何节点都没有左子节点,或者任何节点都没有右子节点。其中D是对的,但不是唯一的答案。
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。