【第11周 项目1 - 二叉树算法验证(1)层次遍历算法的验证】
来源:互联网 发布:淘宝评价管理在哪 编辑:程序博客网 时间:2024/04/25 13:20
问题及代码:
/* Copyright (c)2015级,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第十一周项目1 - 二叉树算法验证.cpp 作 者:彭友程 完成日期:2016年11月10日 版 本 号:v1.0 问题描述: 运行并重复测试教学内容中涉及的算法。改变测试数据进行重复测试的意义在于,可以从更多角度体会算法,以达到逐渐掌握算法的程度。使用你的测试数据,并展示测试结果,观察运行结果,以此来领会算法。 输入描述: 若干测试数据。 程序输出: 对应数据的输出。 */
二叉树代码
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; }
运行截图:
知识点总结:
二叉树算法基本实现层次遍历算法。
心得体会:
三种遍历方式有具体了解,层次遍历更加深入。
0 0
- 【第11周 项目1 - 二叉树算法验证(1)层次遍历算法的验证】
- 【第11周 项目1 - 二叉树算法验证(1)层次遍历算法的验证】
- 第11周 项目1 - 二叉树算法验证—层次遍历算法的验证
- 第11周项目1 -二叉树算法验证(1)层次遍历算法验证
- 第11周上机实践项目1—二叉树算法验证(1)层次遍历算法的验证
- 第11周 项目1-层次遍历算法的验证
- 第11周项目1-层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1 验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法1层次遍历算法的验证
- 第11周 项目1-验证算法(1)层次遍历算法的验证
- 第11周 项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1 验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- 第11周项目1-验证算法(1)层次遍历算法的验证
- mysql的彻底删除问题
- 安装beego bee遇到的墙 gopkg.in/yaml.v2 无法下载
- java提高篇(六)-----实现多重继承
- Mybatis传多个参数(三种解决方案)
- SharePreference+序列化存储对象
- 【第11周 项目1 - 二叉树算法验证(1)层次遍历算法的验证】
- shiro 小白学习过程(1)
- Cocoa深入学习:NSOperationQueue、NSRunLoop和线程安全
- 为什么Java中500==500为假而50==50为真?
- Boostrap 标准的远程弹出窗口页面样式
- 【OpenCV】OpenCV3中的SURF特征点的寻找和匹配
- if的格式
- hadoop学习之HIVE(3.2):hadoop2.7.2下配置hiveserver2启动远程连接
- 【JavaWeb】JSP学习笔记(一)环境|目录|JSP基础语法|内置对象