- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
索引顺查找
课程设计:索引顺序查找1问题描述试编写索引顺序查找的程序。(1)要求能自动建立索引表;(2)对任意待查找的关键字,若查找成功,给出其关键字比较次数。2 设计1、 33 66 990 5 101018332883850606642705983997801234567891011121314 索引顺序查找的索引存储表示的图例2、态查找的典型关键字类型说明过程: Typedef float KeyType;//实型Typedef int KeyType ; //整型Typedef char *keytype;//字符串型数据元素定义为:typedef struct{keytype key; //关键字域… //其他域}ElemType;3.抽象数据类型静态查找表的定义为:ADT StaticSearchTable{数据对象 D:D是具有相同特性的数据元素的集合。各个数据元素均含有类型相同,可唯一标识数据元素的关键字。数据关系:数据元素问题同属一个集合。基本操作p: Create(T,n); 操作结果:构造一个含有n个数据元素的静态查找表ST。 Destroy(ST): 初始条件:静态查找表ST存在。 操作结果:销毁表ST。 Search(ST,key); 初始条件:静态查找表ST存在,key为和关键字类型相同的给定值。 操作结果:若ST中存在其关键字等于key的数据元素,则函数值为该元素的值或在表中的的位置,否则为“空”。 Traverse(ST,Visit()); 初始条件:在静态查找ST存在,Visit是对元素操作的应用函数。 操作结果:按某种次序对ST的每个元素调用函数visit()一次且仅一次。一旦visit()失败,则操作失败。}ADT StaticSearchTable4、索引表的数据类型定义:#define MaxIndex 索引表的最大长度 //根据实际情况而定 typedef struct{KeyType key;Int link;}IdxType5、主程序:main(){初始化;for {接受命令; 处理命令;}}6、各模块之间的调用关系如下:主程序模块 ↓ 随机函数模块 ↓ 索引顺序查找模块7、详细算法设计:(1)、随机数算法如下:void init(){ int i,k,m,j,m1; len=(int)sqrt(n); n1=n-len*(len-1); cout系统将自动产生n个随机数; k=0;j=0; while(1) {m=rand()%500; if((m60)(m70)) {a[0][0]=m; break;} } for(j=1;jlen;j++) { m1=m-abs(rand()%60); a[0][j]=m1; } m=m+40+abs(rand()%80); for(i=1;ilen-1;i++) { a[i][0]=m; for(j=1;jlen;j++) { m1=m-abs(rand()%60); a[i][j]=m1; } m=m+40+abs(rand()%80); } a[len-1][0]=m; for(j=1;jn1;j++) { m1=m-abs(rand()%60); a[len-1][j]=m1; } print(); } (2)、查找算法如下:#define MaxIndex索引表的最大长度 //应根据实际确定typedef struct{KeyType key;Int link;}IdxType;int IdxSearch(Seqlist A[],Index[],int b,keyType K,int n){ //分块查找关键字为k的记录,索引表为index[0..b-1]int low=0,high=b-1,mid,I;int s=n/b;while(low=high) {//在索引表中查找mid=(low+high)/2;if(index[mid].keyk) low=mid+!Else high=mid-
您可能关注的文档
最近下载
- GB50709-2011 钢铁企业管道支架设计规范.pdf VIP
- 压力性损伤护理与管理能力提升题库答案-2025年华医网继续教育.docx VIP
- 基因多态性与疾病易感性-洞察及研究.docx VIP
- 三位一体煅烧炉生产无水氟化铝工艺说明 .pdf VIP
- 卵巢囊肿蒂扭转急诊护理查房.pptx VIP
- 《中华人民共和国国歌》PPT课件.ppt VIP
- 2025年航空货运行业市场规模及未来五到十年发展趋势报告.docx
- 初中八年级全套体育教案(共36课).docx VIP
- 50045 GBJ45-82 高层民用建筑设计防火规范.pdf VIP
- 股市主力操盘盘 口摩斯密码(原创内容,侵权必究).pptx
文档评论(0)