数据结构课程方案小组报告模板

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构课程设计

----小组设计报告

专业:计算机科学与技术

班级:计算机科学与技术06**

组号:201

组长姓名<学号):张三(060******>

副组长姓名<学号):张三(060******>

组员姓名<学号):张三(060******>

指导教师:冯向阳、陈志良

日期:08年1月10日至08年1月20日

目录

1组内成员贡献表

表1-1 组内成员贡献表

2 课程设计目的

1、学习获取知识的方法;

2、提高发现问题、分析问题和解决实际问题的能力;

3、加强创新意识和创新精神;

4、加强团队的分工与合作;

5、掌握面向实际背景思考问题的方法。

3 课程设计内容和要求

内容:

第一章前言

第二章航班信息的查询与检索

第三章树结构的应用

第四章图结构的应用

第五章大数四则运算

第六章综合应用——图书管理信息系统的设计和实现

要求:

完成第2章、第3章中每章2个设计任务中的至少一个任务。

在完成个人任务1的基础上,完成第4章2个设计任务中的至少一个任务。

每人必须在完成个人任务的基础上提交个人任务的设计报告,内容包括:任务名称、目的、具体内容、需求分析、概要设计、主要代码分析、测试结果、收获与体会。无论是个人任务还是小组任务希望各小组团队合作,小组成员之间应互相讨论,互相启发。

4 任务完成情况

任务完成情况介绍,如表3-1.<仅供参考,请根据实际完成情况填写)

5 设计名称

5.1 设计目的

根据内容填写

5.2 设计内容及要求

本程序用VC编写,完成以下功能:根据内容填写

5.3 需求分析

下列仅供参考<请根据内容填写)

本程序用VC编写,完成二叉树的生成二叉链表、递归中序遍历、非递归中序遍历、层次遍历、计算二叉树的深度及叶子个数、建立线索二叉树并实现中序遍历等功能,并且需要一个菜单让用户自主选择执行的功能。

①输入的形式和输入值的范围:

元素输入时,元素的值都是char型,以“#”为空结点。

②输出的形式:

在每次选择菜单后,都输出相应的结果,并且询问下次操作的工程。

③程序所能达到的功能:

完成单链表的二叉树的生成二叉链表、递归中序遍历、非递归中序遍历、层次遍历、计算二叉树的深度及叶子个数、建立线索二叉树并实现中序遍历。每次操作结束后,都会有菜单方便用户进行下一步的操作。

④测试数据:

A.菜单显示为:

-----------------------菜单---------------------------

A----------------------二叉树建立

B----------------------递归中序遍历

C----------------------非递归中序遍历

D----------------------层次遍历

E----------------------求二叉树的深度

F----------------------求二叉树的子叶个数

G---------------------线索二叉树的建立及遍历

H----------------------退出

请输入您要测试的工程:

B.二叉树建立

»选择A或a

»显示 “请按先序建立二叉树的结点序列<以“#”为空结点):”

»输入 ABC##DE##F##G##

»输出完成创建二叉树!

C.递归中序遍历

»选择B或b

»显示 “该二叉树的递归中序遍历序列为:”

»输出 C B E D F A G

D.非递归中序遍历

»选择C或c

»显示 “该二叉树的非递归中序遍历序列为:”

»输出 C B E D F A G

E.层次遍历

»选择D或d

»显示 “该二叉树层次遍历序列为:”

»输出 C B E D F A G

F.求二叉树的深度

»选择E或e

»显示 “该二叉树的深度为:”

»输出 4

G.求二叉树的子叶个数

»选择F或f

»显示 “该二叉树的子叶个数为:”

»输出 4

H.线索二叉树的建立及遍历

»选择G或g

»显示 “请按先序线索二叉树输入元素:”

»输入 ABC##DE##F##G##

»输出完成创建线索二叉树!

»显示 “二叉树的线索化:”

»输出线索化成功!

»显示 “线索二叉树的中序遍历:”

»输出 C B E D F A G

I.退出程序

»选择7

»退出当前程序

5.4 概要设计

1)为了实现上述程序功能,需要定义单链表的抽象数据类型:下列仅供参考<请根据内容填写)

CreateBinTree<&T)

操作结果:构造一个先序存储的二叉树T,以“#”为空结点

Inorder

初始条件:二叉树T已存在

操作结果:将二叉树T按中序遍历

InorderN

初始条件:二叉树T已存在

操作结果:将二叉树T按中序遍历

print_cengci

初始条件:二叉树T已存在

操作结果:将二叉树T按层次遍历

PostTreeDepth

初始条件:二叉树T已存在

操作结果:将二叉树T的深度输出

leaf

初始条件:二叉树T已存在

操作结果:将二叉树T的叶子个数输出

CreateBiThrTree

操作结果:构造一个先序存储的线索二叉树Tr,以“#”为空结点

InOrderThreading

初始条件:线索二叉树Tr已存在

操作结果:将二叉树Tr线索化

InOrderTraverse_Thr

初始条件:线索二叉树Tr已存在

操作结果:将线索二叉树Tr输出

2)本程序包含9个函数:下列仅供参考<请根据内容填写)

①主函数main(>

②初始化二叉树函数CreateBinTree (>

③递归中序遍历二叉树函数Inorder (>

④非递归中序遍历二叉树函数Inorder N(>

⑤层次遍历二叉树函数print_cengci (>

⑥计算二叉树深度函数PostTreeDepth (>

⑦计算二叉树叶子个数函数leaf l (>

⑧初始化线索二叉树函数CreateBiThrTree (>

⑨二叉树线索化函数InOrderThreading (>

⑩线索二叉树输出函数 InOrderTraverse_Thr(>

3)各函数间关系如下:下列仅供参考<请根据内容填写)

CreateBinTree (>

Inorder (>

Inorder N(>

print_cengci (> main(>PostTreeDepth (>

leaf l (>

CreateBiThrTree (>

InOrderThreading (>

InOrderTraverse_Thr(> 5.5 详细代码

见附录一。

5.6 使用说明

下列仅供参考<请根据内容填写)

程序名为二叉树.exe,所有程序在VC++ 6.0环境下调试通过。程序执行如图4-1。

相关文档
最新文档