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

原创 2015年11月20日 08:14:49
/*
Copyright (c)2015,烟台大学计算机与控制工程学院      
All rights reserved.      
文件名称:第十一周项目1 - 二叉树算法验证
作    者:佟兴锋        
完成日期:2015年11月20日      
版 本 号:v1.0      
      运行并重复测试教学内容中涉及的算法。改变测试数据进行重复测试的意义在于,可以从更多角度体会算法,以达到逐渐掌握算法的程度。使用你的测试数据,并展示测试结果,观察运行结果,以此来领会算法。 
    (1)层次遍历算法的验证
输入描述:若干数据。
程序输出:若干数据。
*/


程序:

#include <stdio.h>
#include "btree.h"  //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;
}


运行结果:

知识点总结:

        层次遍历算法。

第十一周项目1—二叉树算法验证

(1)层次遍历算法的验证 #include #include "btree.h" void LevelOrder(BTNode *b) { BTNode *p; BT...
  • Niki2222
  • Niki2222
  • 2015年11月09日 16:34
  • 338

第十一周--【项目1 - 二叉树算法验证】

算法库:     头文件btree.h: #define MaxSize 100 typedef char ElemType; typedef struct node { ElemType d...
  • Yukuimin
  • Yukuimin
  • 2015年11月09日 16:33
  • 211

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

main.cpp /*Copyright (c) 2015,烟台大学计算机学院 *All right reserved *文件名称:BTREE.cpp *作者:贾召飞 *完成日期:2015....
  • lonely_gfwolf
  • lonely_gfwolf
  • 2015年11月23日 16:17
  • 174

(第十一周项目1)二叉树算法验证

运行并重复测试教学内容中涉及的算法。改变测试数据进行重复测试的意义在于,可以从更多角度体会算法,以达到逐渐掌握算法的程度。使用你的测试数据,并展示测试结果,观察运行结果,以此来领会算法。 (1)层次...
  • suzucheese
  • suzucheese
  • 2015年12月01日 20:55
  • 301

第十一周项目1 -验证算法(1)

问题及代码 /*      *烟台大学计算机与控制工程学院       *作    者:张雯婧   *完成日期:2016年11月6日   *问题描述:实现二叉树的层次遍历算法,并对用”A(B(,D(...
  • zwj201558506220
  • zwj201558506220
  • 2016年11月06日 11:02
  • 115

第十一周项目1 -验证算法(1)

/* *烟台大学计算机与控制工程学院 *作 者:臧新晓 *完成日期:2016年11月6日 *问题描述:实现二叉树的层次遍历算法,并对用”A(B(,D(,G)...
  • zangxinxiao
  • zangxinxiao
  • 2016年11月21日 21:57
  • 84

第十一周项目一二叉树构造算法的验证

/*     * Copyright (c)2016,烟台大学计算机与控制工程学院     * All rights reserved.     * 文件名称:项目1.cpp     * 作 ...
  • wangxiaohui6128
  • wangxiaohui6128
  • 2016年11月10日 10:46
  • 64

第十一周--项目一二叉树算法验证(一)

/* * Copyright (c++) 2015 烟台大学计算机学院 * All right reserved. * 文件名称:project1.cp...
  • xiongmaoshang
  • xiongmaoshang
  • 2015年11月09日 16:44
  • 191

第十一周--项目一二叉树算法验证(四)

/* * Copyright (c++) 2015 烟台大学计算机学院 * All right reserved. * 文件名称:project1.cp...
  • xiongmaoshang
  • xiongmaoshang
  • 2015年11月09日 17:11
  • 146

第十一周项目1 - 二叉树算法验证(1)

/*Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:H1.cpp * 作者:辛志勐 * 完成日期:2015年1...
  • E_miss
  • E_miss
  • 2015年11月13日 08:55
  • 254
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第十一周项目1 - 二叉树算法验证
举报原因:
原因补充:

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