- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章 查找
(Chapter 6. Searching)
主要内容:
查找的定义和基本概念
静态查找表(线性表的查找)
动态查找表(树表的查找)
哈希表
§6.1 引言
• 查找表(search table):同类数据元素的集合。
• 关键字(key)
能唯一的标识一个数据元素,则称为主关键字(primary
key),反之则为次关键字(secondary key)。
• 查找(searching)
在查找表中找寻关键字等于给定值的数据元素(或
记录)。
查找成功
查找不成功
• 在查找表上的操作:
(1)查询是否在查找表中
(2)检索各种属性
(3)插入一个数据元素
(4)删去某个数据元素
• 静态查找(static search table):
不涉及插入、删除的操作
• 动态查找(dynamic search table):
四种操作都要做
• 查找结构
为了提高查找效率,专门为查找操作设置的数据结
构。(弱化逻辑结构)
• 本章讨论的查找结构 :
⑴ 线性表:适用于静态查找,主要采用顺序查找
技术、折半查找技术。
⑵ 树表 :适用于动态查找,主要采用二叉排序树
的查找技术。
⑶ 散列表(哈希表):静态查找和动态查找均适
用,主要采用散列技术。
• 如何评价一个查找算法的优劣?
查找算法中最基本的操作是:关键码和给定值的比较。
平均查找长度(average search length)
n
ASL P C Pi :查找表中第i个记录的概率
i i
i 1
C :比较次数。
n :表长。
§6.2 线性表查找
6.2.1 顺序查找
已知有n个数的序列,查找指定数值key是否在该序列
中,如果存在,找出该数值在序列中的位置。
查找表的顺序存储结构
#define MaxNUM
datatype data[ MAXNUM ] ;
int n;
int Seq_Search ( datatype data[ ] , keytype kx , int n )
{ int i ;
i = 0;
while ( i<n && data[i] != kx )
i++;
return i; //找不到时i 为n
}
0 1 2 3 4 5 6 7 8 9 10
5 13 19 21 37 56 64 75 80 88 92
基本思想:
设置顺序表的第一个存储单元为 “哨兵”,依次从序
列尾进行比较,直到比较相等。
监视哨
i i
a[]
64 21 37 88 19 92 05 64 56 80 75 13
0 1 2 3 4 5 6 7 8 9 10 11
kval = 64
n
您可能关注的文档
1亿VIP精品文档
相关文档
最近下载
- 三基考试题库及答案.docx
- Q∕CR 749.3-2020 铁路桥梁钢结构及构件保护涂装与涂料 第3部分:附属钢结构.pdf
- 广开 广东开放大学《基础会计》.docx VIP
- 输尿管结石患者护理查房..ppt
- AP宏观经济学 2019年真题 (选择题+问答题) AP Macroeconomics 2019 Released Exam and Answers (MCQ+FRQ).pdf VIP
- 初中英语八年级下册课件说课稿教案-8下U6教案.pdf VIP
- 社会工作实务(社会工作者)初级考试题库二.docx VIP
- “危险性较大分部分项工程提示”专篇.docx VIP
- AutoCAD教案(最新整理版).docx VIP
- 人教版七年级上册英语全册教案(完整版)教学设计含教学反思.doc
文档评论(0)