树的遍历方法(转)

  • 二叉树的遍历(traversing binary tree)是指从根结点出发,按照某种次序依次访问二叉树中所有的结点,使得每个结点被访问依次且仅被访问一次。
前序
中序
后序
st=>start: 开始
e=>end: 结束
op=>operation: 根结点
op2=>operation: 左子树

io=>inputoutput: 右子树
cond=>condition: 二叉树是否为空?

st->cond
cond(yes)->e
cond(no)->e
op->op2->io->e

  • 前序遍历

若树为空,则空操作返回。否则,先访问根节点,然后前序遍历左子树,再前序遍历右子树。(W)型 (中 左 右)

  • 中序遍历

若树为空,则空操作返回。否则,从根节点开始(注意并不是先访问根节点),中序遍历根节点的左子树,然后是访问根节点,最后中序遍历根节点的右子树。(M)型,(左 中 右)

  • 后续遍历

若树为空,则空操作返回。否则,从左到右先叶子后节点的方式遍历访问左右子树,最后访问根节点。(左右中)逆时针型 (左 右 中)

  • 层序遍历

若树为空,则空操作返回。否则,从树的第一层,也就是根节点开始访问,从上到下逐层遍历,在同一层中,按从左到右的顺序结点逐个访问。

 
 
 
 
posted @ 2018-12-12 08:57  努力奋斗的阿贝拉  阅读(272)  评论(0编辑  收藏  举报