欢迎来到天天文库
浏览记录
ID:34736767
大小:337.00 KB
页数:15页
时间:2019-03-10
《完整二叉树结构实现及检测测验》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、算法与数据结构课程设计题目:完整的二叉树结构的实现及测试专业信息管理与信息系统班级1102学生邹欣学号3110302215指导教师鲍春波章静2012年6月21日–27日1.系统分析完整的二叉树结构的实现及测试,通过对每一个关于二叉树的功能,从创建、输入、遍历、求结点、求深度等分模块进行规划!在通过main函数和函数调用的方法加以连接,设计一个主页面就可以了!矚慫润厲钐瘗睞枥庑赖。2.系统设计(1):数据结构设计思想根据二叉树的定义和特点,从根本上全面的反应二叉树的特点和知识!先写好每一个功能函数的代码,放在主函数的前面,再
2、写好主函数的代码,在主函数中通过switch……case…..相应的调用与用户选择一致的函数,从而测试每一个功能。聞創沟燴鐺險爱氇谴净。(2):系统功能总体设计(3):各个功能模块的详细设计创建二叉树:计算叶子节点:计算节点数树的深度先序非递归遍历残骛楼諍锩瀨濟溆塹籟。中序递归遍历先序递归遍历4;系统界面设计:------------------------------------------------------------------------------------------酽锕极額閉镇桧猪訣锥。-------
3、--------------------------------------------------------------------------------彈贸摄尔霁毙攬砖卤庑。31)函数原型#include#include2)主函数voidmain(void){intchoice,Y;BiTreeTT,q;menu();TT=InitiateHead();printf("请输入你的选择:");scanf("%d",&choice);while(choice){switch
4、(choice){case0:system("cls");exite();break;case1:system("cls");printf("请输入结点如右面所示格式:1230400056700");謀荞抟箧飆鐸怼类蒋薔。CreateBiTree(&TT);menu();break;case2:system("cls");printf("请输入要查找的结点信息:");scanf("%d",&Y);q=Search(TT,Y);if(q)printf("查找成功!!");elseprintf("查找失败!!"
5、);menu();break;case3:system("cls");bianli(TT);menu();break;case4:system("cls");Root(TT);menu();break;case5:system("cls");printf("打印出来的树的形状是:");PrintTree(TT,0);menu();break;3功能模块函数:初始化二叉树BiTreeInitiateHead(){BiTNode*bt;bt=(BiTNode*)malloc(sizeof(BiTNode));bt->lch
6、ild=NULL;bt->rchild=NULL;returnbt;}建立二叉树voidCreateBiTree(BiTree*T){datatypech;scanf("%d",&ch);if(ch==Nil)*T=NULL;else{*T=(BiTNode*)malloc(sizeof(BiTNode));/为T开区间/if(!(*T))/如果T不为空/return;(*T)->data=ch;CreateBiTree(&((*T)->lchild));/创建左孩子/CreateBiTree(&((*T)->rchild
7、));/创建右孩子/}}查找值为X的结点BiTreeSearch(BiTreebt,datatypex){BiTreep;if(bt==NULL)/表空查找失败/returnNULL;elseif(bt->data==x)returnbt;else{p=Search(bt->lchild,x);if(p)/如果p非空/returnp;else{p=Search(bt->rchild,x);if(p)returnp;elsereturnNULL;}}}前序递归遍历此二叉树voidfInOrder(BiTreeT){if(T)
8、/如果T非空/{printf("%d",T->data);/访问结点/fInOrder(T->lchild);/访问结点的左孩子/fInOrder(T->rchild);/访问结点的右孩子/}}中序遍历此二叉树voidInOrder(BiTreeT){if(T)/如果T非空/{InOrder(T->lc
此文档下载收益归作者所有