- 1、本文档共71页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9篇 章 查找 数据结构课件.ppt
第9章 查找;1.熟练掌握顺序表和有序表(折半查找)的查找算法及其性能分析方法;
2.熟练掌握二叉排序树的构造和查找算法及其性能分析方法;
3.掌握二叉排序树的插入算法,了解二叉排序树的删除算法;
4.熟练掌握哈希函数(除留余数法)的构造
5.熟练掌握哈希函数解决冲突的方法及其特点
;基本概念;关键字的平均比较次数,也称平均搜索长度ASL(Average Search Length);顺序查找;
int LocateELem(SqList L,ElemType e)
{ for (i=0;i L.length;i++)
if (L.elem[i]==e) return i+1;
return 0;};int Search_Seq( SSTable ST , KeyType key ){
//若成功返回其位置信息,否则返回0
ST.elem[0].key =key;
//设立哨兵,当n1000时,查找时间将减少一半
for( i=ST.length; ST.elem[ i ].key!=key; - - i );
//不用for(i=n; i0; - -i) 或 for(i=1; i=n; i++)
return i;
//若到达0号单元才结束循环,不成功,返回0(i=0)。成功时则返回找到的那个元素的位置i。
};空间复杂度:一个辅助空间。
时间复杂度:
1) 查找成功时的平均查找长度
设表中各记录查找概率相等
ASLs(n)=(1+2+ ... +n)/n =(n+1)/2
2)查找不成功时的平均查找长度 ASLf =n+1;
算法简单,对表结构无任何要求(顺序和链式)
n很大时查找效率较低
改进措施:非等概率查找时,可按照查找概率进行排序。;n个数存在一维数组A[1..n]中,在进行顺序查找时,这n个数的排列有序或无序其平均查找长度ASL不同。 ;low; ;1 2 3 4 5 6 7 8 9 10 11;折半查找(非递归算法);折半查找(递归算法); -1; -1;查找成功时比较次数:为该结点在判定树上的层次数,不超过树的深度 d = ? log2 n ? + 1
查找不成功的过程就是走了一条从根结点到外部结点的路径d或d-1。;查找过程:每次将待查记录所在区间缩小一半,比顺序查找效率高,时间复杂度O(log2 n)
适用条件:采用顺序存储结构的有序表,不宜用于链式结构
;分块查找;设b为索引表长度,s为块中记录个数
ASLbs=
;折半查找索引表+顺序查找被确定的块
ASLbs=[log2(b+1)-1]+(s+1)/2 ? log2(n/s+1)+s/2;9.2 动态查找表;[动态查找表上的基本运算] (抽象数据类型226页)
(1)初始化操作 initialize(dt)
(2)查找函数 search(dt,K) 返回元素在表中的位置
(3)插入操作 insert (dt,e)
(4)删除操作 delete (dt,K)
(5)遍历操作 traverse(dt);二叉排序树或是空树,或是满足如下性质的二叉树:
(1)若其左子树非空,则左子树上所有结点的值均小于根结点的值;
(2)若其右子树非空,则右子树上所有结点的值均大于等于根结点的值;
(3)其左右子树本身又各是一棵二叉排序树;练习;45;若查找的关键字等于根结点,成功
否则
若小于根结点,查其左子树
若大于根结点,查其右子树
在左右子树上的操作类似;第i层结点需比较i次。在等概率的前提下,上述两图的平均查找长度为:;平均查找长度和二叉树的形态有关,即,
最好:log2n(形态匀称,与二分查找的判定树相似)
最坏: (n+1)/2(单支树);二叉排序树的操作-插入;45;
{10, 18, 3, 8, 12, 2, 7, 3};不同插入次序的序列生成不同形态的二叉排序树;二叉排序树的操作-删除(略);9.3 哈希表;若将学生信息按如下方式存入计算机,如:
将2001011810201的所有信息存入V[01]单元;
将2001011810202的所有信息存入V[02]单元;
……
将2001011810231的所有信息存入V[31]单元。;数据元素序列(14,23,39,9,25,11),若规定每个元素k的存储地址H(k)=k,请画出存储结构图。;根据哈希函数H(k)=k
查找key=9,则访问H(9)=9号地址,若内容为9则成功;
若查不到,则返回一个特殊值,如
您可能关注的文档
- 第7篇 章 基因表达的调控2_真核 药学分子生物学课件.ppt
- 第7篇 章 基因表达的调控3_RNA对基因表达的调控 药学分子生物学课件.ppt
- 第7篇 章 存储器简介 电力数电.ppt
- 第7篇 章 学前儿童早期阅读活动《学前儿童语言教育》课件.ppt
- 第7篇 章 平面弯曲《建筑力学》.ppt
- 第7篇 章 弯曲1 哈工大材料力学课件.ppt
- 第7篇 章 政策分析 财政学 .ppt
- 第7篇 章 核反应堆安全 核工程原理课件.ppt
- 第7篇 章 核反应堆安全 核工程概论课件.ppt
- 第7篇 章 植物和植物产品的检验检疫 进出口商品检验检疫 报检课件.ppt
- 《GB/T 4340.2-2025金属材料 维氏硬度试验 第2部分:硬度计的检验与校准》.pdf
- GB/T 4340.2-2025金属材料 维氏硬度试验 第2部分:硬度计的检验与校准.pdf
- 中国国家标准 GB/T 4340.3-2025金属材料 维氏硬度试验 第3部分:标准硬度块的标定.pdf
- 《GB/T 4340.3-2025金属材料 维氏硬度试验 第3部分:标准硬度块的标定》.pdf
- GB/T 4340.3-2025金属材料 维氏硬度试验 第3部分:标准硬度块的标定.pdf
- 《GB/T 45284.1-2025信息技术 可扩展的生物特征识别数据交换格式 第1部分:框架》.pdf
- 中国国家标准 GB/T 45284.1-2025信息技术 可扩展的生物特征识别数据交换格式 第1部分:框架.pdf
- GB/T 45284.1-2025信息技术 可扩展的生物特征识别数据交换格式 第1部分:框架.pdf
- 《GB/T 45284.5-2025信息技术 可扩展的生物特征识别数据交换格式 第5部分:人脸图像数据》.pdf
- 中国国家标准 GB/T 45284.5-2025信息技术 可扩展的生物特征识别数据交换格式 第5部分:人脸图像数据.pdf
最近下载
- 软件设计服务合同.docx
- 工程制图与AutoCAD习题集(第2版)习题答案.pdf
- 第三单元 走向整体的世界 单元测试 (含解析)---2024-2025学年统编版(2019)高中历史必修中外历史纲要下册.pdf VIP
- 超级猩猩健身房品牌手册.pptx VIP
- 消费品以旧换新实施的创新路径与案例.docx VIP
- 智算中心建设项目可行性研究报告.docx
- 消费品以旧换新策略的实施案例分析与借鉴.docx VIP
- 基础护理学课件 14.第十四章 静脉输液与输血.ppt
- 电动港机装卸机械操作工(门机)技能测试题含答案.docx VIP
- 考点21:学会拓展延伸-备战2024年中考语文现代文阅读高频考点精讲课件(全国通用).pptx VIP
文档评论(0)