二叉树的遍历

来源:互联网 发布:企业如何在淘宝开店 编辑:程序博客网 时间:2024/06/05 05:22

二叉树有三种遍历顺序:前序遍历, 中序遍历,后序遍历

前序遍历:根节点 -> 左儿子 -> 右儿子

中序遍历: 左儿子 ->根节点 -> 右儿子

后序遍历:左儿子 -> 右儿子->根节点


例如:


前序遍历:A B D F E G C

中序遍历:D F B G E A C

后序遍历:F D G E B C A


遍历时,将D的左子树, E的右子树看做空,易于理解


节点

struct Tree{char value;Tree *left_;Tree *right_;};



递归实现遍历:

前序遍历:

void traverse(Tree *t){if(t != NULL){cout<<t -> value<<endl;traverse(t -> left_);traverse(t -> right_);}}

中序遍历:

void traverse(Tree *t){if(t != NULL){traverse(t -> left_);cout<<t -> value<<endl;traverse(t -> right_);}}


后序遍历:

void traverse(Tree *t){if(t != NULL){traverse(t -> left_);traverse(t -> right_);cout<<t -> value<<endl;}}


原创粉丝点击