第11周 项目1 - 二叉树算法验证

原创 2015年11月20日 08:16:43

问题及代码:

    /*  
     * Copyright (c).2014, 烟台大学计算机学院  
     * All rights reserved.  
     *文件名称:cpp1.cpp  
     *作    者:孙翰文  
     *完成日期:20151120日  
     *版 本 号:v1.0  
     *  
     *问题描述:实现二叉树的层次遍历算法,并对用”A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))”创建的二叉树进行测试。 
     *输入描述:无 
     *程序输出:测试结果 
     */   
#include <stdio.h>  
#include "btree.h"  

void LevelOrder(BTNode *b)  
{  
    BTNode *p;  
    BTNode *qu[MaxSize];    //定义环形队列,存放节点指针  
    int front,rear; //定义队头和队尾指针  
    front=rear=-1;      //置队列为空队列  
    rear++;  
    qu[rear]=b;     //根节点指针进入队列  
    while (front!=rear) //队列不为空  
    {  
        front=(front+1)%MaxSize;  
        p=qu[front];        //队头出队列  
        printf("%c ",p->data);  //访问节点  
        if (p->lchild!=NULL)    //有左孩子时将其进队  
        {  
            rear=(rear+1)%MaxSize;  
            qu[rear]=p->lchild;  
        }  
        if (p->rchild!=NULL)    //有右孩子时将其进队  
        {  
            rear=(rear+1)%MaxSize;  
            qu[rear]=p->rchild;  
        }  
    }  
}  

int main()  
{  
    BTNode *b;  
    CreateBTNode(b,"A(B(D,E(H(J,K(L,M(,N))))),C(F,G(,I)))");  
    printf("二叉树b: ");  
    DispBTNode(b);  
    printf("\n");  
    printf("层次遍历序列:\n");  
    LevelOrder(b);  
    DestroyBTNode(b);  
    return 0;  
}  

“`


运行结果:

这里写图片描述


知识点总结:

二叉树的构造算法.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

第11周项目1 二叉树算法验证

问题及代码: 文件名称:main.cpp  btree.h  btree.cpp 作者:郑孚嘉 问题描述:运行并重复测试教学内容中涉及的算法。改变测试数据进行重复测试的意义在于,可以从更多角度体会算法...

第11周项目1-验证算法(2)二叉树构造算法的验证

/*   Copyright (c)2016,烟台大学计算机与控制工程学院   All rights reserved.   文件名称:项目1-2.cbp   作 ...

第11周项目1-验证算法(3)中序线索化二叉树的算法验证

/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目1-3.cbp 作 者:朱建豪 完成日期:20...

第11周项目1-验证算法(3)中序线索化二叉树的算法验证

/*   Copyright (c)2016,烟台大学计算机与控制工程学院   All rights reserved.   文件名称:项目1-3.cbp   作 ...

【树项目5——二叉树的层次遍历算法 ——第11周】

二叉树的层次遍历算法 二叉树算法库请点击徐吉平二叉树算法库 /* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. ...

【树项目6 - 二叉树的构造——第11周】

1.由先序序列和中序序列构造二叉树 (btree.h算法库请访问xjp博客) #include #include #include "btree.h" BTNode *CreateBT1(c...

第11周项目2-用二叉树求解代数表达式

/* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目2.cbp 作 者:朱建豪 完成日期:2016年1...

第11周项目2-用二叉树求解代数表达式

/*   Copyright (c)2016,烟台大学计算机与控制工程学院   All rights reserved.   文件名称:项目2.cbp   作  ...

第11周项目2 用二叉树求解代数表达式

文件名称:main.cpp  btree.cpp  btree.h 作者:郑孚嘉 问题描述:用二叉树来表示代数表达式,树的每一个分支节点代表一个运算符,每一个叶子节点代表一个运算数(为简化,只支持...

第11周项目1-验证算法(4)哈夫曼编码的算法验证

/*   Copyright (c)2016,烟台大学计算机与控制工程学院   All rights reserved.   文件名称:项目1-4.cbp   作 ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)