- 1、本文档共64页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 如何进行查找? 取决于查找表的结构,即记录在查找表中所处的位置。然而,查找表本身是一种很松散的结构,因此,为了提高查找的效率,需要在查找表中的元素之间人为地附加某种确定的关系,即用另外一种结构来表示查找表。 一些约定: 典型的关键字类型说明: typedef float KeyType; //实型 typedef int KeyType; //整型 typedef char *KeyType; //字符串型 数据元素类型定义为: typedef struct{ KeyType key; // 关键字域 ... //其它域 }ElemType; 对两个关键字的比较约定为如下的宏定义: 对数值型关键字: #define EQ(a,b) ((a)==(b)) #define LT(a,b) ((a)(b)) #define LQ(a,b) ((a)=(b)) 对字符串型关键字: #define EQ(a,b) (!strcmp((a),(b))) #define LT(a,b) (strcmp((a),(b))0) #define LQ(a,b) (strcmp((a),(b))=0) 8.1 静 态 查 找 表 抽象数据类型静态查找表的定义为: ADT StaticSearchTable{ 数据对象D:D是具有相同特性的数据元素的集合。 各个数据元素均含有类型相同、可唯一 标识数据元素的关键字。 数据关系R:数据元素同属一个集合。 基本操作P: Create(ST,n): 操作结果:构造一个含n个数据元素的静态查找表ST。 Destroy(ST): 初始条件:静态查找表ST存在。 操作结果:销毁表ST。 Search(ST,key): 初始条件:静态查找表ST存在,key为和关键字 类型相同的给定值。 操作结果:若ST中存在其关键字等于key的数据元素, 则函数值为该元素的值或在表中的位置, 否则为 “空”。 Traverse(ST,visit( )): 初始条件:静态查找表ST存在, visit是对元素操作的应用函数。 操作结果:按某种次序对ST的每个元素调用 函数visit()一次且仅一次,一旦visit() 失败,则操作失败。 } ADT StaticSearchTable 静态查找表可以有不同的表示方法,在不同的表示方法中,实现查找操作的方法也不同。 8.1.1 顺序表的查找 以顺序表或线性链表表示静态查找表,则Search函数可用顺序查找来实现。本节中只讨论它在顺序存储结构模块中的实现。 //静态查找表的顺序存储结构 typdef struct{ ElemType * elem; //数据元素存储空间基址 //建表时按实际长度分配,0号单元留空 int length; //表长度 }SSTable; 算法描述: int Search_Seq(SSTable ST,KeyType key){ //在顺序表ST中顺序查找其关键字等于key的数据元素。若找到,则函数值为该元素在表中的位置,否则为0。 ST.elem[0].key = key; //0号单元作为监视哨 for ( i=ST.length; ST.elem[i].key!=key; --i ); //从后往前找 return i; //找不到时,i为0 } // Search_Seq
您可能关注的文档
- 视频教学生理学第八章(精品·公开课件).ppt
- 视频教学资源获取、处理及应用(精品·公开课件).ppt
- 视频监控讲座(精品·公开课件).ppt
- 视频分析技术讲座(精品·公开课件).ppt
- 视频下载教学(精品·公开课件).ppt
- 视频营销培训(精品·公开课件).ppt
- 视图教案(精品·公开课件).ppt
- 视野——政府创造的商业模式(俞桂莲)(精品·公开课件).ppt
- 是不是常见的组织结构形式(精品·公开课件).ppt
- 是离散数学(精品·公开课件).ppt
- 2024年江西省寻乌县九上数学开学复习检测模拟试题【含答案】.doc
- 2024年江西省省宜春市袁州区数学九上开学学业水平测试模拟试题【含答案】.doc
- 《GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语》.pdf
- 中国国家标准 GB/T 44275.2-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第2部分:术语.pdf
- GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- 《GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构》.pdf
- 中国国家标准 GB/T 44285.1-2024卡及身份识别安全设备 通过移动设备进行身份管理的构件 第1部分:移动电子身份系统的通用系统架构.pdf
- GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 中国国家标准 GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南.pdf
- 《GB/T 44275.11-2024工业自动化系统与集成 开放技术字典及其在主数据中的应用 第11部分:术语制定指南》.pdf
文档评论(0)