数据结构查找实验.docVIP

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据结构查找实验

实验四 查找 实验目的或任务 通过指导学生上机实践,对常用数据结构的基本概念及其不同的实现方法的理论得到进一步的掌握,并对在不同存储结构上实现不同的运算方式和技巧有所体会。 实验教学基本要求 1了解实验目的及实验原理; 2编写程序,并附上程序代码和结果图; 3总结在编程过程中遇到的问题、解决办法和收获。 实验教学的内容或要求 1编写函数,建立有序表,采用折半查找实现某一已知的关键字的查找(采用顺序表存储结构) 2.编写函数,随机产生一组关键字,利用二叉排序树的插入算法建立二叉排序树 3.编写函数,在以上二叉排序树中删除某一指定关键字元素 4.编写一个主函数,在主函数中设计一个简单的菜单,分别调试上述算法 实验类型或性质 验证性 实验开出要求 必做 实验所需仪器设备 1计算机 2相关软件(如C,C++,PASCAL,VC,DELPHI等等) 实验所用材料 计算机耗材 建立有序表,采用折半查找实现某一已知的关键字的查找(采用顺序表存储结构) 折半查找 图2-1 采用折半查找实现某一已知的关键字的查找 随机产生一组关键字,利用二叉排序树的插入算法建立二叉排序树 图2-2 随机产生一组关键字,利用二叉排序树的插入算法建立二叉排序树 3.在以上二叉排序树中删除某一指定关键字元素 图2-3 在以上二叉排序树中删除某一指定关键字元素#include stdio.h #include malloc.h typedef struct Node { int data; struct Node *lchild,*rchild; }NodeType; typedef struct { int num; }datatype; typedef struct { datatype *data; int length; }S_TBL; int SearchData(NodeType *T,NodeType **p,NodeType **q,int kx) { int flag=0; *q=T; while(*q) { if(kx(*q)-data) { *p=*q; *q=(*q)-rchild; } else { if(kx(*q)-data) { *p=*q; *q=(*q)-lchild; } else { flag=1; break; } } } return flag; } int InsertNode(NodeType **T,int kx) { int flag=0; NodeType *p=*T,*q,*s; if(!SearchData(*T,p,q,kx)) { s=(NodeType*)malloc(sizeof(NodeType)); s-data=kx; s-lchild=NULL; s-rchild=NULL; if(p==NULL) { *T=s; } else { if(kxp-data) p-rchild=s; else p-lchild=s; } flag=1; } return flag; } int DeleteNode(NodeType **T,int kx) { int flag=0; NodeType *p=*T,*q,*s,**f; if(SearchData(*T,p,q,kx)) { if(p==q) { f=T; } else { f=(p-lchild); if(kxp-data) f=(p-rchild); } if(q-rchild==NULL) { *f=q-lchild; } else { if(q-lchild==NULL) { *f=q-rchild; } else { p=q-rchild; s=p; while(p-lchild) { s=p; p=p-lchild; } *f=p; p-lchild=q-lchild; if(s!=p) { s-lchild=p-rchild; p-rchild=q-rchild; } } } free(q); flag=1

文档评论(0)

zhanghc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档