二叉树3——三种遍历(递归方法)

来源:互联网 发布:vim c语言配置 编辑:程序博客网 时间:2024/06/06 07:21

遍历即将树的所有结点访问且仅访问一次。按照根节点位置的不同分为前序遍历,中序遍历,后序遍历。
前序遍历:根节点->左子树->右子树
中序遍历:左子树->根节点->右子树
后序遍历:左子树->右子树->根节点

用递归方法实现三种遍历还是比较简单的,也比较好理解。

前序:void pre_order (BTreeNode *node){    if (node == NULL)        return;    printf ("%4c", node->data);    pre_order (node->lchild);    pre_order (node->rchild);}中序:void mid_order (BTreeNode *node){    if (node == NULL)        return;    mid_order (node->lchild);    printf ("%4c", node->data);    mid_order (node->rchild);}后序:void last_order (BTreeNode *node){    if (node == NULL)        return;    last_order (node->lchild);      last_order (node->rchild);    printf ("%4c", node->data);}

三种方式打印出来的结果就是三种遍历的结果。

阅读全文
0 0
原创粉丝点击