无意中听到段老说:迷茫但行动得跟上。我觉得这句话太对了,很多人迷茫着迷茫着就无所事事,等到想努力的时候却发现缺失的太多了,想补的时候堆积的知识已经如一座泰山了……
void PreOrder(BiTree root)
{
if(root!=null)
{
visit(root->data); //访问根节点
preorder(root->lchild);
preorder(root->rchild);
}
}
代码理解——如果根节点不为空,那就访问根节点,然后遍历”左孩子““右孩子”,再以左孩子作为根节点做递归。
/*中序遍历*/
void inorder(bitree root)
{
if(root!=null)
{
inorder(root->lchild);
visit(root->data);
inorder(root->rchild);
}
}
代码理解——如果根节点不为就空遍历“左孩子”再访问根节点最后遍历“右孩子“ 再以之前的“左孩子”为根节点做递归。
/*后序遍历*/
void postorder(bitree root)
{
if(root!=null)
{
postorder(root->lchild);
postorder(root->rchild);
postorder(root->data);
}
}
代码理解——判断节点是否为空,不为空便执行条件判断,遍历“左孩子”“右孩子”最后访问根节点,再以”左孩子“为根节点做递归。
总结 先、中、后序遍历,都是围绕着根节点,先序根节点在最前,中序根节点在中间,后序根节点在最后。
这里解释一下,二叉树遍历是从上到下从左到右。
好了,本周的随笔到这里也结束了,希望可以带给大家帮助。