用递归实现二叉树的三种遍历

xiaoxiao2021-02-28  62

qianxu(Treenode root){//前序遍历 if(root==null) return; record();//把当前节点值记录下来 qianxu(root.left); qianxu(root.right); } zhongxu(Treenode root){//中序遍历 if(root==null) return; zhongxu(root.left); record(); zhongxu(root.right); } houxu(Treenode root){//后序遍历 if(root==null) return; houxu(root.left); houxu(root.right); record(); }

三种遍历算法之不同处仅在于访问根节点和遍历左、右子树的先后关系。暂且抹去和递归无关的record()语句,则三个遍历算法完全相同。由此,从递归执行过程的角度来看三种遍历顺序也是完全相同的。

转载请注明原文地址: https://www.6miu.com/read-1450025.html

最新回复(0)