顺序表查找导入_第1页
顺序表查找导入_第2页
顺序表查找导入_第3页
顺序表查找导入_第4页
顺序表查找导入_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、第九章第九章 查找查找查找表查找表查找表: 是由同一类型的数据元素(或记录)构成的集合对查找表经常进行的对查找表经常进行的操作:操作:(1)、查询某个“特定的”数据元素是否在查找表中;(2)、检索某个“特定的”数据元素的各种属性;(3)、在查找表中插入一个数据元素;(4)、从查找表中删除一个数据元素;查找 根据给定的某个值,在查找表中确定一个其关键字等于给定值得数据元素(或记录)关键字关键字 是数据元素(或记录)中某个数据项的值,用以标志一个数据元素(或记录)。 若此关键字可以识别唯一的一个记录,则称为“主关键字主关键字”。 若此关键字能识别若干个记录,则称之为“次关键字关键字”。查找 根据给

2、定的某个值,在查找表中确定一个其关键字等于给定值得数据元素(或记录) 若查找表中存在这样一个记录,则称“查找成功查找成功”,查找结果为:给出整个记录的信息,或指示该记录在查找表中的位置;否则称为“查找不成功查找不成功”,查找结果:给出“空记录”或“空指针”如何进行查找?如何进行查找?取决于查找表的结构 然而,查找表本身是一种松散的结构,因此,为了提高查找的效率,需要在查找表中的匀速之间人为地附加某种确定的关系,换句话说,用另外一种结构来表示查找表。根据操作类型的不同:根据操作类型的不同: 1、 静态查找表 (仅作查询与检索操作) 2、动态查找表数据对象数据对象D:数据关系数据关系R:D是具有相

3、同特性的数据元素的集合。数据元素同属一个集合。ADT StaticSearchTable 1.抽象数据类型的定义抽象数据类型的定义D是具有相同特性的数据元素的集合。每个数每个数据元素含有类型相同的据元素含有类型相同的关键字关键字,可唯一标识数据元素。 主关键字主关键字 Create(&ST, n);Destroy(&ST);Search(ST, key);Traverse(ST, Visit();基本操作基本操作 P:9.1静态查找表静态查找表1.顺序表查找2.有序表查找3.静态树表查找4.索引顺序表查找静态查找表的查找算法静态查找表的查找算法1)顺序查找顺序查找即用逐一比较的办法顺序查找关键

4、字,即用逐一比较的办法顺序查找关键字,技巧:技巧: 把待查关键字把待查关键字key存入表头或表尾存入表头或表尾(俗称(俗称“哨兵哨兵”),),即用即用逐一比较逐一比较的办法顺序查找关键字,的办法顺序查找关键字,这显然是最直接的办法。这显然是最直接的办法。技巧:技巧: 把待查关键字把待查关键字key存入表头或表尾存入表头或表尾(俗称(俗称“哨兵哨兵”),这样可以加快执行),这样可以加快执行速度。速度。21 37 88 19 92 05 64 56 80 75 13 0 1 2 3 4 5 6 7 8 9 10 11 ST.LengthST.elemi21 37 88 19 92 05 64 56

5、 80 75 13 0 1 2 3 4 5 6 7 8 9 10 11 ST.LengthST.elemi60ikey=64key=60i64示例:已知静态查找表ST如下:int Search_Seq(SSTable ST, KeyType key) / 在顺序表ST中顺序查找其关键字等于 / key的数据元素。若找到,则函数值为 / 该元素在表中的位置,否则为0。 ST.elem0.key = key; / “哨兵” for (i=ST.length; ST.elemi.key!=key; -i); / 从后往前找 return i; / 找不到时,i为0 / Search_Seqint Search_Seq(SSTable ST, KeyType key) pd=0; / 判断标记 for (i=1;i=ST.length; i+) if (ST.e

温馨提示

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

评论

0/150

提交评论