下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选优质文档-倾情为你奉上实验五 查找和排序1、实验目的1. 掌握顺序查找的基本方法2. 掌握简单排序和二分法查找的算法。2能运用线性表的查找方法解决实际问题。2、实验内容1、给出在一个无序表A,采用顺序查找算法查找值为x的元素的算法2、给出一个无序表B,采用简单排序方法使该表递增有序,并采用二分查找算法查找值为x的元素的算法。3、实验步骤(1)仔细分析实验内容,给出其算法和流程图;(2)用C语言实现该算法;(3)给出测试数据,并分析其结果;(4)在实验报告册上写出实验过程。4、实验报告要求实验报告要求书写整齐,步骤完整,实验报告格式如下:1、实验目的2、实验设备3、实验步骤4、实验内容5、实
2、验结果(结论)1.折半查找算法描述如下: int Search_Bin(SSTable ST,KeyType key) low=1;high=ST.length; while(low<=high) mid=(low+high)/2; if EQ(key,ST.elemmid.key) return mid; else if LT(key,ST.elemmid.key) high=mid -1;else low=mid +1 ; return 0; /Search_Bin; 2.顺序查找算法描述如下:typedef struct ElemType *elem;int length;SSTa
3、ble; 顺序查找:从表中最后一个记录开始,逐个进行记录的关键字和给定值的比较,若某个记录的关键字和给定值比较相等,则查找成功,找到所查记录;反之,查找不成功。int Search_Seq(SSTable ST,KeyType key)ST.elme0.key=key; for(i=ST.length; !EQ(ST.elemi.key,key); -i); return i; (3)写出源程序清单(加适当的注释)。#include "stdio.h"typedef struct BiTNode int data; struct BiTNode *lchild,*rchil
4、d;BiTNode,*BiTree;void insert(BiTree *bt,BiTree s) /在二叉树中插入一个新节点,并将较大数至于右子树,较小数至于左子树if (*bt=NULL) *bt=s;else if (s->data<=(*bt)->data)insert(&(*bt)->lchild),s);else if (s->data>(*bt)->data)insert(&(*bt)->rchild),s);void ZXBL(BiTree bt) /中序遍历,二叉树已排好顺序if(bt!=NULL)ZXBL (
5、bt->lchild);printf("%5d",bt->data);ZXBL (bt->rchild);BiTree select (BiTree bt,int key) /在二叉排序树bt中查找关键字等于给定值的结点是否存在if(bt=NULL) return NULL;else if(bt->data=key) return bt;else if(key<bt->data) return select (bt->lchild,key);else return select (bt->rchild,key);void ma
6、in() char ch;int key;BiTree s,bt=NULL;int i=0; /建立一个二叉树,元素从键盘输入,直到回车为止printf("n请输入要一列整数,以空格隔开,回车结束. n");while(ch!='n')scanf("%d",&key);s=(BiTree)malloc(sizeof(BiTNode);s->data=key;s->lchild=s->rchild=NULL;insert (&bt,s);ch=getchar();printf("n排序后: n&q
7、uot;); ZXBL (bt);/中序遍历while(1)printf("n输入你要查找的关键字: ");scanf("%d",&key);s=select(bt,key);if(s!=NULL) printf("%d 查找成功!",s->data);else printf("未发现你输入的数!");printf("n再次查找?(Y/N): ");ch=getch();if(ch!='y'&&ch!='Y') return 0;(4
8、)调试说明。包括上机调试的情况、调试所遇到的问题是如何解决的,并对调试过程中的问题进行分析,对执行结果进行分析。1,问题: malloc无法识别.解决: 百度得知缺少头文件,导入stdlib.h后解决.2,问题: 输入后程序无响应.解决: scanf中缺少&,添加后解决.3,问题: 结果显示不正确,为ASCII码解决: 输出改为”%c”.(5)测试结果及说明。对完成所要执行的功能情况分析。(1)(2)五实验体会: 通过本次排序和查找的练习,初步掌握了其基本概念和操作。查找的基本概念: 查找表: 是由同一类型的数据元素(或记录)构成的集合。 查找表的操作: 1、查询某个“特定的”数据元素是否在查找表中。 2、检索某个“特定的”数据元素的各种属性。 3、在查找表中插入一个数据元素; 4、从查找表中刪去某个数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 04版知识产权许可与技术转让合同2篇
- 二零二四年餐厅商标转让合同
- 2024年度供应链融资合同及风险管理协议2篇
- 04版股权激励与期权行使合同
- 2024年度智能制造设备安装合同:含防雷技术的自动化生产线
- 二零二四年度停车场车位共享平台运营协议2篇
- 二零二四年度软件许可使用合同协议
- 2024年度版权许可合同标的版权类型与许可范围
- 二零二四年度BIM模型协同管理与共享服务合同
- 二零二四年度网络安全服务合同范本涉及企业防护
- 人教版(2024)一年级道德与法治上册第二单元第8课《课余生活真丰富》教学课件
- 北京市海淀区2023-2024学年高三上学期期末考试 英语 含答案
- 《义务教育物理课程标准》测试题及详细答案2022年修订版
- 广西贺州历年中考语文现代文阅读真题26篇(含答案)(2003-2022)
- 《微项目 探讨如何利用工业废气中的二氧化碳合成甲醇-化学反应的选择与反应条件的优》名校课件
- 年产7万锭高档棉纱项目可行性研究报告模板-立项拿地
- 《角的度量》(教学设计)-2024-2025学年四年级上册数学苏教版
- 统编版八年级上册道德与法治第三单元承担社会责任单元整体教学设计
- 《功能性食品开发与应用》课件-辅助保护胃黏膜功能食品的开发与应用
- 校医务室托管服务方案(技术方案)
- 2024年(四级)公路收费及监控员技能鉴定理论考试题库(浓缩500题)
评论
0/150
提交评论