二叉排序树实验.doc_第1页
二叉排序树实验.doc_第2页
二叉排序树实验.doc_第3页
二叉排序树实验.doc_第4页
二叉排序树实验.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深 圳 大 学 实 验 报 告 课程名称: 数据结构实验与课程设计 实验项目名称: 二叉排序树 学院: 数学与计算科学学院 专业: 数计班 指导教师: 张艳 报告人: 张宏宽 学号: 2013190067 班级: 数计班 实验时间: 2014/12/3 实验报告提交时间: 2014/12/7 教务部制实验目的与要求: 实验目的: 1、掌握二叉排序树的定义和特性 2、掌握二叉排序树的建立方法 3、实现二叉排序树的查找技术 4、掌握二叉排序树的查找性能 实验要求: 1、熟悉C+语言编程 2、了解二叉排序树的原理实验内容:二叉排序树定义为:若树不空,则:左子树所有结点的值小于根结点;右子树所有结点的值大于根结点。二叉排序树的中序遍历得到数据的升序排序。实验内容:给定一个关键字序列,生成一个二叉排序树;对给定的关键字进行查找;返回查找是否成功,关键字所在的位置以及查找次数实验过程:(给出算法思想,并附上代码,对代码中的变量和核心语句进行注释)#includeusing namespace std;typedef int Status;static int count;typedefstruct BiTNodeint data;struct BiTNode *lchild, *rchild;BiTNode, *BiTree;Status SearchBST(BiTree T,int key,BiTree f,BiTree *p)/寻找count+; if (!T) *p = f; return false; else if (key=T-data) *p = T; return true; else if (keydata) return SearchBST(T-lchild, key, T, p); else return SearchBST(T-rchild,key,T, p);Status InsertBST(BiTree *T, int key)/生成树 BiTree p,s; if (!SearchBST(*T, key, NULL, &p) s = (BiTree)malloc(sizeof(BiTNode); s-data = key; s-lchild = s-rchild = NULL; if (!p) *T= s; else if (keydata) p-lchild = s; else p-rchild = s; return true; else return false; Status Inorder(BiTree *T) if(*T) Inorder(&(*T)-lchild); if(*T)-data!=NULL) coutdatarchild);return 0;Status Search(BiTree *T, int key) BiTree p; count=0; if (SearchBST(*T, key, NULL, &p) coutcountendl; else cout-1t;int a10,key10;for(k=0;kn; BiTree T=NULL; for(i=0;iai; InsertBST(&T, ai); Inorder(&T);coutm;for(j=0;jkeyj; Search(&T, keyj); return 0;实验结果及分析:对数组进行排序并且生成树对给定的关键字进行查找;返回-1则表示查找是不成功,返回非-1则表示关键字所在的位置并且返回查找次数深圳大学学生实验报告用纸实验总结: 在这次实验中更好的掌握了树的相关知识,更加熟悉了c+的编程操作,实验中还是出现的问题都将会加深我们对着门课的印象,多动手才会更熟练。指导教师批阅意见:成绩评定

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论