物联网/嵌入式工程师
二叉树的遍历课程链接
大白老师
学习二叉树的三种遍历算法
二叉树遍历的概念: 沿着某条搜索路径周游二叉树,对树中的每个节点访问一次并且只访问一次。
遍历算法分为:层序遍历,前序遍历,中序遍历,后序遍历。
前序遍历:若二叉树为空树,则空操作;否则先访问根结点 在遍历左子树 最后遍历右子树
中序遍历:若二叉树为空树,则空操作;否则先访问左子树 在遍历根结点 最后遍历右子树
后序遍历:若二叉树为空树,则空操作;否则先访问左子树 在遍历右子树 最后遍历根节点
三种遍历主要采用递归的思想
// 先序遍历 void pre_order(bitree_t *root) { if(root == NULL) return ; printf("(%d:%c) ",root->n,root->data); pre_order(root->lchild); pre_order(root->rchild); } // 中序遍历 void in_order(bitree_t *root) { if(root == NULL) return ; in_order(root->lchild); printf("(%d:%c) ",root->n,root->data); in_order(root->rchild); } // 后序遍历 void post_order(bitree_t *root) { if(root == NULL) return ; post_order(root->lchild); post_order(root->rchild); printf("(%d:%c) ",root->n,root->data); }
本节主要讲解二叉树的遍历算法,遍历编程思想是递归算法,大白老师把每种遍历算法的详细步骤都解释的很清楚。