Java教程

【九月打卡】第12天【养成记】嵌入式挑战第12天 学习二叉树的遍历

本文主要是介绍【九月打卡】第12天【养成记】嵌入式挑战第12天 学习二叉树的遍历,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

课程名称:

物联网/嵌入式工程师

课程章节(阶段二第五周 二叉树 1-4):

二叉树的遍历课程链接

老师:

大白老师

课程内容:

学习二叉树的三种遍历算法

学习笔记:

  • 二叉树遍历的概念: 沿着某条搜索路径周游二叉树,对树中的每个节点访问一次并且只访问一次。

  • 遍历算法分为:层序遍历,前序遍历,中序遍历,后序遍历。

  • 前序遍历:若二叉树为空树,则空操作;否则先访问根结点 在遍历左子树 最后遍历右子树

  • 中序遍历:若二叉树为空树,则空操作;否则先访问左子树 在遍历根结点 最后遍历右子树

  • 后序遍历:若二叉树为空树,则空操作;否则先访问左子树 在遍历右子树 最后遍历根节点

  • 三种遍历主要采用递归的思想

代码

// 先序遍历   
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);
}


打卡:

图片描述

图片描述

图片描述

课程评价

本节主要讲解二叉树的遍历算法,遍历编程思想是递归算法,大白老师把每种遍历算法的详细步骤都解释的很清楚。

这篇关于【九月打卡】第12天【养成记】嵌入式挑战第12天 学习二叉树的遍历的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!