- 1、本文档共67页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
8_查找_陈德裕
第8章 查 找 本章目录 8.1 基本概念与术语 1.数据项 (字段) 数据项是数据不可分割的最小单位。 2.组合项 如果一个数据项是由若干项组合构成的,则称此数据项为组合项。 3.数据元素(记录) 数据元素是由若干数据项、组合项构成的数据单位,是在某一问题中作为整体进行考虑和处理的基本单位。 4.关键字 关键字是数据元素(记录)中某个项或组合项的值,用它可以标识一个数据元素(记录)。 8.1 基本概念与术语(续) 5.查找表 查找表是由具有同一类型(属性)的数据元素(记录)组成的集合。它以集合作为逻辑结构。分为静态查找表和动态查找表两类。 静态查找表:仅对查找表进行查找操作,而不能改变的查找表。也就说,在查找操作的过程中,查找表的结构不发生变化。查找表中的数据元素的个数不会发生改变。 动态查找表:对查找表除进行查找操作外,可能还要进行向表中插入数据元素,或删除表中数据元素的表。查找表的结构是动态的,查找表中的数据元素是可以增加或者减少的。 8.1 基本概念与术语(续) 6.查找 根据给定的某个值,在查找表中确定一个其关键字的值等于给定值的记录或数据元素的操作称为查找。 7.数据元素类型说明 typedef struct { KeyType key;//关键字字段,可以是整型、字符串型、构造类型等 …… //其它字段 } ElemType; 8.2 静态查找表 静态查找是指在查找的过程中查找表的结构不发生变化的查找操作,也就是在查找的过程中查找表中的数据元素既不增加也不减少。 静态查找表可以有多种表示方法,不同的表示方法其查找操作的实现也不相同。 静态查找表结构 静态查找表的链式存储结构: template class T struct Node { T key; //关键字域 ........ //其他域,可以自己根据需要添加 }; template class T class StaticSearchTable { public: NodeT *ST; int index; StaticSearchTable() { ST=NULL; //初始为空表 index=0; //表示静态表中当前存储数据元素个数 } }; 静态查找表结构(续) 静态查找表的顺序存储结构: template class T class SqList { private: T *elem; //表基址 int length; //表长度 int listsize; //表容量 public: SqList(int m) ;//构造函数, 创建容量为m的空表 ~SqList();//析构函数,删除表空间 } 顺序查找 方法: 从表的一端开始,向另一端逐个按给定值key与关键字进行比较,若找到,查找成功,并给出数据元素在表中的位置;若整个表检测完,仍未找到与key相同的关键字,则查找失败,给出查找不成功的信息。 算法思想: 将顺序表中的0号单元设置为“哨兵”:就是把待查值放入该单元。查找时从顺序表中的最后一个元素开始,依次向前进行查找。这样做的好处是:免得在查找过程中每一次都要判断查找位置是否越界,从而提高了查找速度。 顺序查找(续) 算法 int s_search1(SqList L,KeyType k) { //在表tbl中查找关键字为k的数据元素,若找到返回该元素在数组中的下标,否则返回0 L.elem[0].key = k; for( i = L.length ;L.elem[i].key k ;i-- ); return i; } 注:当返回值为0时就是意味着查找不成功。 顺序查找(续) 算法分析 平均查找长度ASL(Average Search Length) 其中:Pi为表中第i个数据元素的查找概率; Ci为查找某个关键字时的比较次数 。 顺序表中平均查找长度: 查找成功时:ASL= 查找不成功时: ASL=n+1,每次都需要比n+1次,即比较到岗哨单元为止 时间复杂度:T(n)=O(n) 单链表的顺序查找 算法思想: 从单链表的首元结点开始,向后一个一个检查结点的值域,同时设置一个计数器,用以标记所访问结点在链表中的序号。若查找成功,返回序号的值,否则返回0。 C++语言描述: int s_search2(Linkl
您可能关注的文档
- 实验性研究设计(实验设计) 2012-8-28.ppt
- 八年级上学期期末考试历史试卷及答案52.doc
- AT89s52硬件结构.docx
- 磁芯材料知识.doc
- 5″非标钻杆使用手册.doc
- 钢结构基本原理课件:第四章.ppt
- wj-数字逻辑设计及应用习题_8章.ppt
- AT89C52为8 位通用微处理器.doc
- ACCP8指南解读.ppt
- 8.2严守法律第二课时55.ppt
- 平凡的世界一部关于奋斗与梦想的史诗通用13篇.docx
- 环境科学与工程技术知识汇总.docx
- 2024-2025学年中职专业课-金属加工与实训-机械制造技术-装备制造大类教学设计合集.docx
- 2 《食品制造业生产现场精益生产与客户需求的快速响应研究》教学研究课题报告.docx
- 4 《农村金融市场利率定价机制优化与农村金融信息化发展研究》教学研究课题报告.docx
- 2024-2025学年初中地方、校本课程武汉版生命安全教育教学设计合集.docx
- 2024-2025学年初中信息技术龙教版2018七年级下册-龙教版2018教学设计合集.docx
- 2024-2025学年小学美术一年级上册赣美版(2024)教学设计合集.docx
- 2024-2025学年小学科学六年级下册人教鄂教版(2024)教学设计合集.docx
- 初中地理数字化教学实践远程指导与监控的实践研究教学研究课题报告.docx
最近下载
- 2024年全国眼视光行业眼镜验光员技能大赛理论参考试题库(含答案).pdf VIP
- 2025年11课《种树郭橐驼传》理解性默写练习(附参考答案) .pdf VIP
- 21个行业审核作业指导书.doc VIP
- 医院加强信息化建设 提高信息化水平工作情况四篇.docx VIP
- 《从局部抗战到全面抗战》部优教学设计.doc VIP
- 施耐德 ATV320 安全功能手册.pdf VIP
- 汉钟压缩机调试技术-hanbell.ppt VIP
- powmax国迈变频器POWSD-E3 交流伺服驱动器随机手册V17.pdf VIP
- 疫源地消毒总则gb19193-2015.docx VIP
- ASTM F1224-89(2004)E1 美国材料与试验协会标准.pdf VIP
文档评论(0)