继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

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

rubyc
关注TA
已关注
手记 23
粉丝 7
获赞 1

课程名称:

物联网/嵌入式工程师

课程章节(阶段二第五周 二叉树 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);
}


打卡:

图片描述

图片描述

图片描述

课程评价

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

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP