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

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二叉树的遍历问题解决方法相关的知识,希望对你有一定的参考价值。

本文首发于微信公众号:"算法与编程之美",欢迎关注,及时了解更多此系列文章。

问题描述

二叉树是由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

以上是关于二叉树的遍历问题解决方法的主要内容,如果未能解决你的问题,请参考以下文章

算法创作 | 二叉树遍历问题解决方法

Leetcode:探索二叉树(递归方式,Leetcode144,94,145)

二叉树的实验--二叉树的主要遍历算法

转更简单的非递归遍历二叉树的方法

二叉树的锯齿形层次遍历

Morris Traversal方法遍历二叉树