欢迎来到天天文库
浏览记录
ID:41246123
大小:48.88 KB
页数:4页
时间:2019-08-20
《数据库实验2》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、班级:计111姓名:李洋宇学号:1107731.设计题目。实验二二叉树建立及遍历一、实验目的:1)掌握二叉树的概念和基本操作。2)掌握二叉树的创建和遍历。3)通过本实验可以使学生掌握二叉树的相关算法和概念。培养解决实际问题、编写程序的能力。二、实验内容生成二叉树(必作)递归先序遍历该二叉树(遍历算法三选一)递归中序遍历该二叉树(遍历算法三选一)非递归先序遍历该二叉树(遍历算法三选一)三、实验步骤1、输入(先序)数据,以二叉链表作为存储结构,建立二叉树。2、采用递归算法对其进行遍历(先序、中序或后序),将遍历
2、结果打印输出。3、测试数据,如:ABCффDEфGффFффф(其中ф表示空格字符)则输出结果为先序:ABCDEGF中序:CBEGDFA后序:CGBFDBA2.运行环境(软、硬件环境)简介。1.硬件环境:PC机内存4G;硬盘500G2.软件环境:操作系统:windows7编辑环境:VisualC++6.0word20073.问题描述,包括目标、任务、条件和约束的描述。1、输入(先序)数据,以二叉链表作为存储结构,建立二叉树。2、采用递归算法对其进行遍历(先序、中序或后序),将遍历结果打印输出。3、测试数据,
3、如:ABCффDEфGффFффф(其中ф表示空格字符)则输出结果为先序:ABCDEGF中序:CBEGDFA后序:CGBFDBA4.算法设计的思想生成二叉树(必作)递归先序遍历该二叉树(遍历算法三选一)递归中序遍历该二叉树(遍历算法三选一)非递归先序遍历该二叉树(遍历算法三选一)5.算法的流程图先序遍历流程图访问P→dataPush(S.P)P←P→LchildP←Pop(s)P←P→rchildP为空栈空P←T置栈s为空end中序遍历流程图Push(S.P)P←P→LchildP←Pop(s)访问P→da
4、taP←P→rchildP=NULLandtoP=0endTop=0P=NULLP←T置栈s为空6.源代码/tree.cpp:Definestheentrypointfortheconsoleapplication./#include"stdafx.h"#include#includetypedefstructtnode{chardata;structtnode*lchild;structtnode*rchild;}tnode;tnode*Tree_creat(tnod
5、e*t){charch;ch=getchar();if(ch=='')t=NULL;else{if(!(t=(tnode*)malloc(sizeof(tnode))))printf("Error!");t->data=ch;/printf("[%c]",t->data);t->lchild=Tree_creat(t->lchild);t->rchild=Tree_creat(t->rchild);}returnt;}voidpreorder(tnode*t){if(t!=NULL){printf("%2c
6、",t->data);preorder(t->lchild);preorder(t->rchild);}}voidunorder(tnode*t){if(t){unorder(t->lchild);printf("%2c",t->data);unorder(t->rchild);}}voidpostorder(tnode*t){if(t){}}postorder(t->lchild);postorder(t->rchild);printf("%2c",t->data);voidmain(){tnode*t
7、=NULL;printf("创建二叉树:");t=Tree_creat(t);printf("先序遍历的结果:");preorder(t);printf("中序遍历的结果:");unorder(t);printf("后序遍历的结果:");postorder(t);printf("");}7.运行结果分析
此文档下载收益归作者所有