电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

数据结构实验报告二叉树的应用

数据结构实验报告二叉树的应用_第1页
1/6
数据结构实验报告二叉树的应用_第2页
2/6
数据结构实验报告二叉树的应用_第3页
3/6
数据结构实验报告二叉树的应用一、实验目的实现二叉排序树的应用。二、实验内容(问题)设计一个程序,实现二叉排序树的应用。基本要求:(1)从空树开始,通过插入,建立一棵二叉排序树;(2)检验所建立的二叉树是否是二叉排序树;(3)实现二叉排序树的删除。三、算法描述 (给出自然语言描述的算法)1.建立一棵空树,把数据元素插入树中;2.检验这棵树是不是二叉排序树;3.输入一个关键字,删除该数据元素。四、详细设计(画流程图)建立空树该 树 中 是 否 有要 插 入 的 数 据元素不插入插入输入要删除元素的关键字判断 i 是否大于13 (i=0;i<13;i++ )检验该树是不是二叉排序树该数据元素在二叉排序树中是否存在删除数据元素删除失败插入并检测数据元素是否是否结束否是否是五、程序代码#include "stdio.h"#include "stdlib.h"#define EQ(a,b) ((a)==(b))#define LT(a,b) ((a)<(b))#define FALSE 0#define TRUE 1typedef int Status;typedef struct ElemType{int key;char name[15];}ElemType;typedef struct BiTNode{ElemType data;struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;FILE *fp;Status SearchBST(BiTree T,int key,BiTree f,BiTree &p);Status InsertBST(BiTree &T,ElemType e);Status PreOrderTraverse(BiTree T,Status(*visit)(ElemType));Status Show(ElemType e);Status InspectBST(BiTree T);Status DeleteBST(BiTree &T,int key);Status Delete(BiTree &p);main(){BiTree T=NULL; ElemType e; int i,key;if((fp=fopen("data.txt","read"))==NULL){ printf("Can't open file!\n"); exit(0);}for(i=0;i<16;i++){fscanf(fp,"%d%s\n",&e.key,e.name);InsertBST(T,e);}fclose(fp);printf("二叉排序树建立成功。\n");if(InspectBST(T))printf("此二叉树是二叉排序树。\n");else return FALSE;printf("先序遍历序列是:\n");if(PreOrderTraverse(T,Show))printf("\n");for(i=0;i<3;i++){printf("输入要删除数据元素的关键字:"); scanf("%d",&key);if(DeleteBST(T,key)){ printf("删除该数据元素后的先序遍历是:\n"); PreOrderTraverse(T,Show); printf("删除成功。\n");}else printf("二叉树中没有此数据元素,删除失败。\n");}return TRUE;}Status SearchBST(BiTree T,int key,BiTree f,BiTree &p){if(!T){ //查找不成功p=f; return FA...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

数据结构实验报告二叉树的应用

您可能关注的文档

文章天下+ 关注
实名认证
内容提供者

各种文档应有尽有

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部