DS2016_CH7动画版.pdf

  1. 1、本文档共61页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DS2016_CH7动画版

第七章查找 查找表 静态查找表 动态查找表 哈希表 下一章 查找表 Search Table 定义:是同一类型的数据元素构成的集合。 集合中的数据元素之间存在着松散的关系 对查找表经常进行的操作: 1)查询某个 “特定的”数据元素是否在查找表中; 2 )检索某个 “特定的”数据元素的各种属性; 3 )在查找表中插入一个数据元素; 4 )从查找表中删去某个数据元素。 查找表可分为两类: 静态查找表:仅作查询和检索操作的查找表 动态查找表:查找过程中,还进行数据元素插入或删除操作的查找表 查找表 Search Table 查找Searching——是根据给定的某个值,在表中确定一个 关键字等于给定值的记录或数据元素 关键字Key——数据元素中某个数据项的值,它可以标识一 个数据元素 主关键字Primary Key——可以唯一标识一个记录的关键字 次关键字Secondary Key——可以标识若干记录的关键字 查找结果——“查找成功”,给出整个记录的信息,或指示 该记录在查找表中的位置;“查找不成功”,给出“空记录” 或“空指针” 查找表 Search Table 查找方法评价 查找速度 占用存储空间多少 算法本身复杂程度 平均查找长度ASL(Average Search Length):为确定 记录在表中的位置,需要与给定值进行比较的次数的期 望值叫查找算法的~ 平均查找长度ASL : n 对含有n个记录的表,ASL  p c i i i1 n 其中:p 为查找表中第i个元素的概率, p  1 i  i i1 c为找到表中第i个元素所需比较次数i 查找表 Search Table 查找实现中涉及的类型定义 typedef int KeyType; //typedef float KeyType; //typedef char * KeyType; typedef struct { KeyType key; …… }ElemType; 静态查找表 Static Search Table 静态查找表:仅作查询和检索操作的查找表 顺序表查找顺序查找 有序表查找折半查找 索引顺序表查找分块查找 静态查找方法比较 顺序表查找 Sequential Search Table 以顺序表或线性链表表示静态查找表,可用顺序查找实现 静态查找表的顺序存储结构 typedef struct { ElemType *elem; // 数据元素存储空间基址, //建表时按实际长度分配,0号单元留空 int length; //表的长度 }SSTable; 顺序表查找 Sequential Search Table 顺序查找过程:从表的一端开始逐个进行记录关 键字和给定值的比较

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档