分享

Python|二叉树的遍历问题解决方法

 算法与编程之美 2021-05-04

问题描述

二叉树是由n个结点的有限集合,该集合或者为空集,或者由一个根节点和两颗互不相交的、分别称为根节点的左子树和右子树的二叉树组成。

二叉树特征:每个结点最多只有两颗子树,即二叉树中结点的度最高不能超过2个,子树的左右顺序不能颠倒。

解决方案

遍历的口诀:

先序遍历,即先根再左再右;

中序遍历:即先左再根再右;

后序遍历:即先左再右再根

二叉树层次遍历问题Python代码

void level(BTNode *p)

{

    int front,rear;

    BTNode *que[maxsize];

    front = rear = 0;

    BTNode *q;

    if(p != NULL)

    {

        rear = (rear + 1)%maxsize;

        que[rear] = p;

        while(front != rear)

        {

            front = (front + 1)%maxsize;

            q = que[front];

            Visit(q);

            if(q -> 1child != NULL)

            {

                rear = (rear +1)%maxsize;

                que[rear] = q -> 1child;

            }

            if(q -> rchild != NULL)

            {

            rear = (rear + 1)%maxsize;

            }

        }

    }

}

结语

本文描述了二叉树的定义和特征,并归纳了二叉树的遍历算法,总的来说二叉树的遍历只要记住口诀就挺好做的,难点在于它的python代码,我们这方面的知识点比较欠缺,希望在以后的学习中能逐渐突破自己。




主编:欧洋
作者:代婷婷、王梓霖、童弘宇

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多