《数据结构》上机实验报告(模版).doc

《数据结构》上机实验报告(模版).doc

ID:61485966

大小:870.00 KB

页数:23页

时间:2021-02-05

《数据结构》上机实验报告(模版).doc_第1页
《数据结构》上机实验报告(模版).doc_第2页
《数据结构》上机实验报告(模版).doc_第3页
《数据结构》上机实验报告(模版).doc_第4页
《数据结构》上机实验报告(模版).doc_第5页
资源描述:

《《数据结构》上机实验报告(模版).doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、成都信息工程学院计算机系课程实验报告实验课程:数据结构实验项目:数据结构综合设计之二叉树遍历算法指导教师:李莉丽学生姓名:梅钲琪学生学号:班级:应用122实验地点:6308实验时间:实验成绩:评阅老师:一【上机实验目的】1.掌握二叉树的概念,包括二叉树、满二叉树和完全二叉树的定义。 2.掌握二叉树的性质。 3.重点掌握二叉树的存储结构,包括二叉树顺序存储结构和链式存储结构。4.重点掌握二叉树的基本运算和各种遍历算法的实现。二【实验环境】PC机1台,,VC++6.0,easyX图形库三【上机实验内容】数据结构

2、综合设计之二叉树遍历算法四【上机调试程序流程图】(用传统流程图的形式表示)打印相加后的多项式两个多项式相加打印多项式五【上机调试中出现的错误信息、错误原因及解决办法】非递归后序遍历时出现了问题,不能遍历非完全二叉树,后来用到,右孩子不存在或者已经访问过,root出栈并访问,否则,不出栈,继续访问右孩子层次遍历是开始想的是用栈来实现,但是很麻烦,还有问题,后来用队列,解决了问题六【上机调试后的源程序及还存在的问题】#include#defineMAXN100#include

3、h>#includestructBTNode{chartag;BTNode*left;BTNode*right;};//二叉树结点intX[10]={300,125,55,195,125,265,475,405,545,475};intY[10]={20,120,220,220,320,320,120,220,220,320};//动画演示的坐标charB[21]={'A','B','C','#','#','D','E','#','#','F','#','#','G','H','#'

4、,'#','I','J','#','#','#'};//固定动画演示的charC[10]={'A','B','C','D','E','F','G','H','I','J'};intxx[10]={145,165,185,205,225,245,265,285,305,325};//输出结果的横坐标intflag=0;//标记是否进行动画演示,0代表“不”,1代表“要”voidcreatree(BTNode**root)//动画演示先序构造二叉树{staticii=0;if(B[ii]=='#'){*root

5、=NULL;ii++;}else{*root=newBTNode;(*root)->tag=B[ii];ii++;creatree(&(*root)->left);creatree(&(*root)->right);}}/*先序方式创建二叉树*/voidBuildBTree(BTNode**root){charc;c=getchar();if(c=='#')*root=NULL;else{*root=newBTNode;(*root)->tag=c;BuildBTree(&(*root)->left);Bu

6、ildBTree(&(*root)->right);}}voidPreVisit(BTNode*root)//递归前序遍历{staticii=0;if(root!=NULL){if(flag==0)//不动画演示{printf("%c",root->tag);}else//动画演示{for(inti=0;i<10;i++){if(C[i]==root->tag){setcolor(GREEN);fillcircle(X[i],Y[i],15);setcolor(GREEN);setbkmode(TRANSP

7、ARENT);setfont(20,20,"宋体");outtextxy(X[i]-10,Y[i]-7,C[i]);setbkmode(OPAQUE);outtextxy(xx[ii],400,C[i]);ii++;break;}}Sleep(1500);}PreVisit(root->left);PreVisit(root->right);}}voidInVisit(BTNode*root)//递归中序遍历{staticii=0;if(root!=NULL){InVisit(root->left);if(

8、flag==0){printf("%c",root->tag);}else{for(inti=0;i<10;i++){if(C[i]==root->tag){setcolor(500);fillcircle(X[i],Y[i],15);setcolor(500);setbkmode(TRANSPARENT);setfont(20,20,"宋体");outtextxy(X[i]-10,Y[i]-7,C[i]);se

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。