天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第九章 查找

第九章查找 令查找的概念 令静态查找表 动态查找表 哈希表 米米
第九章 查找 v查找的概念 v静态查找表 v动态查找表 v 哈希表

查找的概念 查找表是由同一类型的数据元素或记录) 构成的集合,由于“集合”中的数据元素之 间存在着松散的关系,因此查找表是一种 应用灵便的数据结构。对查找表的操作: 查询某个“特定的”数据元素是否在查找表中; 检索某个“特定的”数据元素的各种属性 在查找表中插入一个数据元素; 从查找表中删去某个数据元素
查找表 是由同一类型的数据元素(或记录) 构成的集合,由于“集合”中的数据元素之 间存在着松散的关系,因此查找表是一种 应用灵便的数据结构。对查找表的操作: §查询某个“特定的”数据元素是否在查找表中; §检索某个“特定的”数据元素的各种属性; §在查找表中插入一个数据元素; §从查找表中删去某个数据元素 查找的概念

查找表的分类: 静态查找表 仅作查询和检索操作的查找表。 动态查找表 在查找过程中同时插入查找表中不存在的 数据元素,或者从查找表中删除已存在的某个 数据元素,此类表为动态查找表
静态查找表 仅作查询和检索操作的查找表。 动态查找表 在查找过程中同时插入查找表中不存在的 数据元素,或者从查找表中删除已存在的某个 数据元素,此类表为动态查找表。 查找表的分类:

关键字 是数据元素(或记录)中某个数据项 的值,用以标识(识别)一个数据元素 (或记录)。若此关键字可以识别唯一的 个记录,则称之谓“主关键字”。若此 关键字能识别若干记录,则称之谓“次关 键字
关键字 是数据元素(或记录)中某个数据项 的值,用以标识(识别)一个数据元素 (或记录)。若此关键字可以识别唯一的 一个记录,则称之谓“主关键字” 。若此 关键字能识别若干记录,则称之谓“次关 键字”

查找 根据给定的某个值,在查找表中确定一个其关 键字等于给定值的数据元素或(记录)。 若查找表中存在这样一个记录,则称“查 找成功”,查找结果:给出整个记录的信 息,或指示该记录在查找表中的位置 否则称“查找不成功”,查找结果:给 “空记录”或“空指针
根据给定的某个值,在查找表中确定一个其关 键字等于给定值的数据元素或(记录)。 若查找表中存在这样一个记录,则称“查 找成功” ,查找结果:给出整个记录的信 息,或指示该记录在查找表中的位置; 否则称“查找不成功” ,查找结果:给 出 “空记录”或“空指针” 。 查找

如何进行查找? 查找的方法取决于查找表的结构。 由于查找表中的数据元素之间不存在明显的组 织规律,因此不便于查找。 为了提高查找的效率,需要在查找表中的 元素之间人为地附加某种确定的关系,换句 话说,用另外一种结构来表示查找表
如何进行查找? 查找的方法取决于查找表的结构。 由于查找表中的数据元素之间不存在明显的组 织规律,因此不便于查找。 为了提高查找的效率, 需要在查找表中的 元素之间人为地 附加某种确定的关系,换句 话说, 用另外一种结构来表示查找表

查找方法评价 查找速度 占用存储空间多少 算法本身复杂程度 平均查找长度 ASL(Average Search Length) 为确定记录在表中的位置,需和给定值进行比 较的关键字的个数的期望值叫査找算法的 对含有n个记录的表,ASL=∑pC i=1 其中:p为查找表中第个元素的概率,∑P,=1 c为找到表中第个元素所需比较次数
查找方法评价 • 查找速度 • 占用存储空间多少 • 算法本身复杂程度 • 平均查找长度ASL(Average Search Length): 为确定记录在表中的位置,需和给定值进行比 较的关键字的个数的期望值叫查找算法的~ 为找到表中第 个元素所需比较次数 其中: 为查找表中第 个元素的概率, 对含有 个记录的表, c i p i p n ASL p c i n i i i n i i i 1 1 1

静恋查找表 抽象数据类型静态查找表的定义: ADT StaticSearchTable i 数据对象DD是具有相同特性的 数据元素的集合。每 个数据元素含有类型 相同的关键字,可唯 标识数据元素 数据关系R:数据元素同属一个集合
抽象数据类型静态查找表的定义: ADT StaticSearchTable { D是具有相同特性的 数据元素的集合。每 个数据元素含有类型 相同的关键字,可唯 一标识数据元素。 数据关系R:数据元素同属一个集合。 静 态 查 找 表 数据对象D:

基本操作P Create(&ST,n);∥构造一个含n个数据 元素的静态查找表ST。 Destroy (&st); ∥销毁表ST。 Search(ST,key);M查找ST中其关键字等 于kval的数据元素。 Traverse(ST, visito);/按某种次序对 ST的每个元素调用函数 Ⅴist(O一次且仅一次, J ADT StaticSearchTable
Create(&ST, n); //构造一个含 n 个数据 元素的静态查找表ST。 Destroy(&ST); //销毁表ST。 Search(ST, key); //查找 ST 中其关键字等 于kval 的数据元素。 Traverse(ST, Visit()); //按某种次序对 ST的每个元素调用函数 Visit()一次且仅一次, } ADT StaticSearchTable 基本操作 P:

顺序表的查找 以顺序表表示静态查找表,则 Search函数可 用顺序查找来实现。其顺序存储结构如下: typedef struct t ElemType *elem;∥数据元素存储空间基址,建表时 按实际长度分配,0号单元留空 int length;∥表的长度 ) SSTable
§顺序表的查找 typedef struct { ElemType *elem; // 数据元素存储空间基址,建表时 按实际长度分配,0号单元留空 int length; // 表的长度 } SSTable; 以顺序表表示静态查找表,则Search函数可 用顺序查找来实现。其顺序存储结构如下:
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第二章 线性表.ppt
- 高自考《计算机网络基本原理》复习要点.doc
- 计算机系统维护专业(单招)课程教学大纲.doc
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第9章 项目管理器.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第8章 程序设计基础.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第7章 视图与查询.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第6章 SQL语言.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第5章 数据库综合操作.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第4章 数据库基本操作.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第3章 数据类型、表达式、函数.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第2章 Visual FoxPro 6.0概述.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第1章 数据库应用基础.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第14章 创建输出报表.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第13章 菜单系统.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第12章 表单控件.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第11章 表单设计及运行.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第10章 面向对象可视化编程基础.ppt
- 人民邮电出版社:《数据库应用与程序设计教程》课程教材电子教案(PPT课件讲稿)第0章 教学说明(21世纪高等学校计算机基础教育系列教材).ppt
- 《CAD/CAM/CAPP》课程教学资源(PPT讲稿)10.ppt
- 《CAD/CAM/CAPP》课程教学资源(PPT讲稿)08.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第六章 树和二叉树.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第三 章 栈和队列.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第十章 排序.ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第四章 字符串(String).ppt
- 天津大学:《数据结构 Data Structures》课程教学资源(PPT课件讲稿)第一章 绪论(李晓红).ppt
- 中华人民共和国国家标准:CAD通用技术规范(GB/T 17304- 1998)Specification for CAD General Technology.pdf
- 清华大学:《软件工程》课程教学资源(PPT讲义)软件过程与CMM模型.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)第一章 引论.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)发现和标识合适的对象、类和对象的标识、类和对象的细化、标识结构主题属性实例连接、表达对象做什么和说什么.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)第11、12、13、14、15、16、17、18、19、20、21、22章.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)第一章 引论.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)第3、4、5、6、7、8、9、10章.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)第11、12、13、14、15、16、17、18、19、20、21、22章.ppt
- 清华大学:《软件工程》课程教学资源_教学计划.doc
- 清华大学:《软件工程》课程教学资源(PPT讲义)课程简介(殷人昆).ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)软件工程概论.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)系統分析.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)软件需求分析.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)软件设计方法.ppt
- 清华大学:《软件工程》课程教学资源(PPT讲义)用户界面设计.ppt