- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构(C语言)下ppt128
数据结构(C语言)下 第8章 查 找 (时间:3次课,6学时) 第8章 查 找 教学提示:前几章介绍了基本数据结构线性表、树和图结构,并讨论了这些结构的存储方式,以及定义在这些结构上的基本运算。本章将讨论数据结构中的另一种常用的重要技术——查找表。在非数值运算中,数据存储量很大,为了在大量信息中找到某些数据,需要用到查找技术。在数据处理过程中,查找的效率直接影响到算法的优劣,因而查找是数据处理中重要的基本运算之一。 教学目标:本章将针对数据的不同组织形式来讨论几种常用的查找方法,用户应学会根据查找算法进行分析,比较各种查找技术的效率,并掌握各种查找算法的使用方法。 第8章 查 找 8.1 查找的基本概念 8.2 线性表的查找 8.3 树结构的查找 8.4 散列技术 8.5 上机实习 8.6 习 题 8.1 查找的基本概念 查找表是一种以集合为逻辑结构,以查找运算为基本操作的数据结构。下面给出有关查找的基本概念。 集合:具有相同类型的数据元素(或记录)构成的整体,被称为集合。 查找表:由同一类型的数据元素(或记录)构成的集合,可以利用任意存储结构表示。 关键字:数据元素中某个数据项的值,用它可以标识列表中的一个或一组数据元素。 查找:根据给定的关键字值,在查找表中确定一个其关键字与给定值相同的数据元素或记录,并返回该数据元素在查找表中的位置。 对查找表经常进行的操作有:①查找某个“特定的”数据元素是否在查找表中;②检索某个“特定的”数据元素的各种属性;③在查找表中插入一个数据元素;④从查找表中删除某个数据元素。 1.抽象数据类型静态查找表的定义 数据对象D:D是具有相同特性的数据元素(或记录)的集合、各个数据元素均含有类型相同、可惟一标识数据元素的关键字。 数据关系R:数据元素(或记录)同属一个集合。 8.1 查找的基本概念(2) 基本操作: Create(ST,n):构造一个含有n个数据元素的静态查找表。 Destroy(ST):当静态查找表ST存在时,销毁表ST。 Search(ST, key):静态查找表ST存在。 2.抽象数据类型动态查找表的定义 数据对象D:D是具有相同特性的数据元素(或记录)的集合。各个数据元素均含有类型相同,可惟一标识数据元素的关键字。 数据关系R:数据元素(或记录)同属一个集合。 基本操作: InitDSTable(DT):构造一个空的动态查找表。 DestroyDSTable(DT):当动态查找表DT存在时,销毁表DT。 SearchDSTable(DT, key):动态查找表DT存在。 InsertDSTable(DT, e):动态查找表DT存在,e为待插入的数据元素,若DT中不存在其关键字等于e.key的数据元素,则插入e到DT。 DeleteDSTable(DT, key):动态查找表DT存在。 8.1 查找的基本概念(3) 3.平均查找长度 为确定数据元素在查找表中的位置,需与给定值进行比较的关键字个数的期望值,称为查找算法在查找成功时的平均查找长度(Average Search Length),简称ASL。 8.2 线性表的查找 8.2.1 顺序查找 8.2.2 二分查找 8.2.3 分块查找 8.2.1 顺序查找 8.2.1 顺序查找(2) 8.2.2 二分查找 8.2.2 二分查找__例 8.2.2 二分查找__例 8.2.2 二分查找__例 8.2.2 二分查找__算法 8.2.3 分块查找 8.2.3 分块查找 8.2.3 分块查找 8.3 树结构的查找 8.3.1 二叉排序树 8.3.2 平衡二叉树 8.3.3 B-树 8.3 树结构的查找 树结构的查找法又被称为树表查找法,是利用特定的树结构将查找表组织成有序表,并在表上实现查找、插入和删除运算。 基于树结构的查找表本身是在查找过程中动态生成的。因此树结构的查找可用于动态查找表的表示和实现。 8.3.1 二叉排序树 8.3.1 二叉排序树 (1) 8.3.1 二叉排序树(2) 8.3.1 二叉排序树(3) 8.3.1 二叉排序树(4) 8.3.1 二叉排序树(5) 8.3.1 二叉排序树(6) 8.3.1 二叉排序树(7) 8.3.1 二叉排序树(8) 8.3.1 二叉排序树(9) 8.3.1 二叉排序树(10) 8.3.1 二叉排序树(11) 8.3.1 二叉排序树(12) 8.3.1 二叉排序树(13) 8.3.2 平衡二叉树 8.3.2 平衡二叉树(2) 8.3.2 平衡二叉树(3) 8.3.2 平衡二叉树(4) 8.3.2 平衡二叉树(5) 8
原创力文档


文档评论(0)