二叉树的遍历

来源:互联网 发布:rtsp协议端口 编辑:程序博客网 时间:2024/06/15 08:57

遍历操作:无重复无遗漏的访问

二叉树的遍历:指的是从根节点出发,按照某种次序依次访问二叉树中的所有结点,使得每个结点被访问一次且仅被访问一次

按照访问次序可以分为:前序遍历  中序遍历  后序遍历

前序遍历:前序遍历也叫先序遍历、先根遍历

前序遍历的递归算法:  若二叉树为空,则空操作返回,否则

(1)访问根结点

(2)前序遍历根结点的左子树

(3)前序遍历根结点的右子树

注意:遍历左右子树时仍然采用前序遍历方法

递归代码实现:

preOrder(biNode *root){

           if(root == null){

             return ;

                }else{

         printf(%d, root->data);

        preOrder(root->leftChild);

         preOrder(root->rigthChild);

             }

}

      非递归前序遍历

前序的程序实现(非递归):

1、根结点进栈

2、结点出栈,被访问

3、结点的左、右儿子(非空)进栈

4、反复执行2、3,至栈空为止













1 0
原创粉丝点击