非递归遍历之后序遍历-学习任务
我要参与
非递归遍历之后序遍历-学习任务
学习任务 2.6k
等15人参与
来源: 第6周 / 物联网/嵌入式工程师

练习:

写出下列图形层次遍历的代码。(答题区只需要提出贴出遍历的函数和运行结果即可)
图片描述

解题思路:
二叉树的层次遍历:是指从二叉树的根结点开始,从上到下逐层遍历。在同一层中
                 按照从左到右的顺序对每一个结点进行访问。在进行层次遍历
                 的时候,当前层结点访问完成后,在依次对左孩子和右孩子进行一层
                 层访问,先遇到的结点先输出。这个和我们队列的思想(先进先出)比较符合。
                 因此,二叉树的层次遍历可以设置队列来操作。

二叉树层次遍历的操作:
1.先创建队列
2.层次遍历
(1)先把根结点入队
(2)当队列不为空的时候,循环出队,然后判断左孩子和右孩子是否存在,存在则入队.
         当队列为空的时候,退出循环。
         
伪代码:
LinkQueue *q = creat_empyt_linkqueue();

enter_linqueue(root);
while(!is_emtpy_linkquue(q))
{
        temp = delte_linkqueu()
        printf("%c",temp->data)
        
        if(temp->lchild != NULL)
        {
             enter_linkqueue(q,temp->lchlid);
        }
        
        if(temp->rchild != NULL)
        {
             enter_linkqueue(q,temp->rchlid);
        }
}
去发布

登录后即可发布作业,立即

我的作业

全部作业

微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师