C语言综合实验设计报告数据结构:二叉树的遍历.doc
《C语言综合实验设计报告数据结构:二叉树的遍历.doc》由会员分享,可在线阅读,更多相关《C语言综合实验设计报告数据结构:二叉树的遍历.doc(15页珍藏版)》请在三一办公上搜索。
1、C语言综合实验设计报告 题目:数据结构:二叉树的遍历 学院:化学工程学院 专业:制药工程 班级:050607 学号: 姓名: 设计日期:2007年1月11日 指导老师: 一 选题背景数据结构是由若干特性相同的数据元素构成的集合,且在集合上存在一种或多种关系。由关系不同可将数据结构分为四类:线性结构、树形结构、图状结构和集合结构。数据的存储结构是数据逻辑结构在计算机中的映象,由关系的两种映象方法可得到两类存储结构:一类是顺序存储结构,它以数据元素相对的存储位置表示关系,则存储结构中只包含数据元素本身的信息;另一类是链式存储结构,它以附加的指针信息(后继元素的存储地址)表示关系。数据结构课程是离散
2、数学的后续课程,并是操作系统、编译原理、数据库系统、计算机算法设计与分析、计算机网络、软件工程、人工智能等的基础课程,是将来进行大型程序设计的一个训练过程。二 设计思想通过调用函数的方法进行二叉树的遍历,定义坐标固定结点的位置。自动建立树和手动建立树的标志,选择:2手动,1自动。文本模式下创建树的过程,如果选择1自动,电脑自动建立树,如果选择2手动,需要人工手动建立。手动提示输入结点,创建好树。再用图形显示创建好的树,进行先序,中序,后序遍历。遍历时显示每个结点的过程。最后关闭图形。三 主要问题的解决方法及技术关键 存在的主要问题是在手动创建树时怎样输入结点,当选择“人工手动建立”时,在提示后
3、依次输入26个字符或数字,每行一个。此时树就能建立,然后用图形显示出来。本程序的技术关键是建立二叉树和图形显示遍历的过程,分别用到Tree *CreatTree(),Void DrawTree(Tree *t)等函数。遍历结束后,图形关闭。四 流程图开始主函数文本模式下创建树选择常量2常量1Printf()Root=InitTree()调用函数Tree*InitTree()图形显示创建的树前序遍历 中序遍历遍历时显示结点的过程后序遍历图形初始化图形关闭END五 程序清单/*tree2.c二叉树演示*/#include #include #include #include #include ty
4、pedef struct TREE char data;/*树的结点数据*/ struct TREE *lchild; struct TREE *rchild; int x;/*树的x坐标*/ int y;/*树的y坐标*/Tree;struct OUTPUT int x;/*三种遍历的x坐标*/ int y;/*三种遍历的y坐标*/ int num;s;int nodeNUM=0;/*统计当前的结点数字,最多26个*/char way;/*自动建立树和手动建立树的标志,2手动,1自动*/char str3;/*显示结点数据的字符串*/void Init();/*图形初始化*/void Clo
5、se();/*图形关闭*/Tree *CreatTree();/*文本模式下创建树的过程*/Tree *InitTree(int h,int t,int w);/*创建树,h层次,t横坐标,w树之间的宽度,n树的建立方式*/void DrawTree(Tree *t);/*用图形显示创建好的树*/void Preorder(Tree *t);/*前序遍历*/void Midorder(Tree *t);/*中序遍历*/void Posorder(Tree *t);/*后序遍历*/void DrawNode(Tree *t,int color);/*遍历时显示每个结点的过程*/void ClrS
6、cr();/*清空树的区域*/void main() Tree *root; randomize(); root=CreatTree();/*创建树*/ Init(); DrawTree(root);/*每次遍历前显示白色的树*/ sleep(1); s.x=100;s.y=300;s.num=1;/*每次遍历前设置显示遍历顺序显示的x,y坐标*/ Preorder(root);/*前序遍历*/ getch(); ClrScr(); DrawTree(root); sleep(1); s.x=100; s.y=350; s.num=1; Midorder(root);/*中序遍历*/ getc
7、h(); ClrScr(); DrawTree(root); sleep(1); s.x=100; s.y=400; s.num=1; Posorder(root);/*后序遍历*/ Close();/*清空树的区域*/void ClrScr() setcolor(BLACK); setfillstyle(SOLID_FILL,BLACK); bar(0,20,640,280);/*文本模式下创建树的过程*/Tree *CreatTree() Tree *root; clrscr(); printf(please input nn); printf(puter creatn); printf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 综合 实验设计 报告 数据结构 二叉 遍历
链接地址:https://www.31ppt.com/p-2396440.html