在遍历二叉树时,前序遍历和中序遍历的区别在哪里?
1个回答
展开全部
前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根结点,然后遍历左子树,最后遍历右子树。
中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。若二叉树为空则结束返回。
因此,A是根结点,B是A的左子树,F是A的右子树。E是B的左子树,C是B的右子树,D是C的右子树。G是F的右子树。H是G的左子树,J是G的右子树。I是H的左子树。
扩展资料:
在前缀和后缀表达式中都不必采用括号或优先级。从左到右或从右到左扫描表达式并采用操作数栈,可以很容易确定操作数和操作符的关系。
若在扫描中遇到一个操作数,把它压入堆栈,若遇到一个操作符,则将其与栈顶的操作数相匹配。把这些操作数推出栈,由操作符执行相应的计算,并将所得结果作为操作数压入堆栈。
当t的高度为n时(右斜二叉树的情况),通过观察其前序、中序和后序遍历时所使用的递归栈空间即可得到空间复杂性均为O (n),时间复杂性为O(n)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询