没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
数据结构实验报告
学号:xxxxxxxxxxx 姓名:xxxxxx 专业:计算机科学与技术
知识范畴:树 完成日期:2019 年 05 月 06 日
实验题目:二叉树的字符图形显示程序(半期测试)
实验内容及要求:
设二叉树采用二叉链表存储结构,结点数据域为字符类型。编写控制台应用程序采用先
序遍历法建立二叉树存储结构并实现二叉树的字符图形显示。输入及输出示例如下:
输入: ABDH##I##EJ##K##CFL##M##GN##O## (#表示 NULL 指针域,表示回车键)
输出:
A 行 1
________|________ 行 2 横线由至少 2 个下划线字符组成,竖线是一个|字符
| | 行 3
B C 行 4
____|____ ____|____ 行 5
| | | | 行 6
D E F G 行 7
__|__ __|__ __|__ __|__ 行 8 (行 8 的每根水平线由 2 个下划线字符组成)
| | | | | | | | 行 9
H I J K L M N O 行 10
输入: A#B#C##
1 / 11
评分
满分——10 分
输出:
A
|____
|
B
|__
|
C
输入: AB#DE##F##CG###
输出:
A
________|________
| |
B C
|____ ____|
| |
D G
__|__
| |
E F
输入: AB##C##
输出:
A
__|__
| |
B C
实验目的:对于二叉树(二叉链表)存储结构,综合运用所学知识,通过分析及算法设计解
决课堂及教材未讲过的问题。
数据结构设计简要描述:
采用含有左、右儿子指针和数据域的结构体构成二叉树存储节点;输出树形二叉树的时候
采用 vector 容器存储满二叉树节点,不存在的节点使用“#”作为占位符。
2 / 11
算法设计简要描述:
使用先序遍历建立二叉树,使用层次遍历建立输出树形二叉树的间接容器。
输入/输出设计简要描述:
输入先序建立二叉树的字符序列;
输出树形二叉树。
编程语言说明:
使用 Code::Blocks 编程。 主要代码采用 C++语言实现 ;动态存储分配采用 C++的
new 和 delete 操作符实现;输入与输出采用 C++的 cin 和 cout 流;程序注释采用 C/C++
规范。
主要函数说明:
BiTree CrtBT() // 用先序遍历算法建立二叉树
BiTree delQueue(const BiTreeQueue Q) // 队头元素出队
int initQueue(BiTreeQueue bt_queue) // 初始化循环队列
int isEmpty(const BiTreeQueue Q) // 判断队列是否为空
int LayerTraval(BiTree bt) // 层次遍历二叉树,求得按照层次存放的满二叉树数组
void printTree(std::vector<ElemTp> tree) // 将二叉树按照树形输出
int enQueue(const BiTreeQueue Q,BiTree bt) // 二叉树节点入队
程序测试简要报告:
3 / 11
剩余10页未读,继续阅读
资源评论
我的师傅不是唐三藏
- 粉丝: 31
- 资源: 15
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功