二叉树的三种遍历(递归算法)C++1、先序遍历(NLR):过程:①先遍历根结点②遍历左子树③遍历右子树。得到的结果序列是:ABDGHECF2、中序遍历(LNR):①先左子树②访问根结点③访问右子树。得到的结果序列是:GDHBEACF3、后序遍历(RLN):①先左子树②访问右子树③访问根结点。得到的结果序列是:GHDEBFCA 总结:函数递归时,每次都是一个新的二叉树,执行完后,退出最内层、最内层-1层、最内层-2层....直到第一个根结点。
算法如下:中序遍历的核心是先输出以根为最后递归的地址为根输出其左子树,然后是根,然后是右子树算法如下:后序遍历是先访问左子树,然后到头,访问头的左子树、右子树、根结点。然后退出最内层递归,执行最内层-1的递归访问右子树......。