每周学习日志

学习了二叉树中的遍历与线索化。

树的遍历:就是按某种次序访问树中的结点,要求树中每个结点访问一次且仅访问一次。

遍历方式:先序遍历、中序遍历、后序遍历。

_

先序遍历:1、访问根节点 2、按先序遍历左子树 3、按先序遍历右子树

中序遍历:1、按中序遍历左子树 2、访问根节点 3、按中序遍历右子树

后序遍历:1、按后序遍历左子树 2、按后序遍历右子树 3、访问根节点

_

先序遍历代码 根 左 右

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);
    visit(root->data);
 }
}

猜你喜欢

转载自www.cnblogs.com/wananouo/p/12811163.html