- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章 查找 目的和要求 目的:查找算法设计。 内容:顺序查找、折半查找、分块查找;散 列表;二叉排序树。 要求:掌握查找的概念和多种查找算法设 计,学习根据不同情况选择合适的查 找算法,掌握提高查找效率采取的各 种方法。 重点:顺序查找、折半查找、分块查找;散 列表;二叉排序树。 难点:散列表;二叉排序树。 实验:查找算法及其效率分析。 8.1 查找的基本概念 查找操作和查找结果 关键字(key) 、主关键字(primary key) 查找算法及其提高查找效率的措施 顺序查找 数据排序、建立索引、散列存储、建立二叉排序树 查找算法性能评价 8.2 基于线性表的查找 8.2.1 顺序查找 8.2.2 基于有序顺序表的折半查找 8.2.3 基于索引顺序表的分块查找 8.2.1 顺序查找 顺序表的顺序查找 public int indexOf(T key)//顺序查找关键字为key元素,返回首次出现的元素,若查找不成功返回-1。key可只包含关键字数据项,由T类的equals()提供比较对象相等的依据 public T search(T key) //查找 public boolean contain(T key) //判断是否包含关键字为key元素 public void remove(T key) //删除首次出现元素 2.单链表的顺序查找 public T search(T key) //顺序查找关键字为key元素,返回首次出现的元素,若查找不成功返回null public boolean contain(T key) //判断线性表是否包含关键字为key元素 public void remove(T x) //删除首次出现的值为x的结点,若没找到指定结点则不删除 3. 顺序查找算法分析 8.2.2 基于有序顺序表的折半查找 折半查找算法 2.折半查找算法分析 8.2.3 基于索引顺序表的分块查找 索引 分块查找 字典的分块查找 例8.1 判断一个字符串是否为Java关键字。 例8.2 采用扩充索引表查询Java关键字。 (2)支持插入和删除操作的索引结构及其分块查找 8.3 散列 8.3.1 散列表 8.3.2 散列函数 8.3.3 处理冲突 8.3.4 构造链地址法的散列表 8.3.1 散列表 散列函数 i=hash(key) 冲突 8.3.2 散列函数 除留余数法 hash(k)=k % p 平方取中法 折叠法 8.4.3 处理冲突 开放定址法 2. 链地址法 图8-12 链地址法散列表的插入和删除操作 8.4.4 构造链地址法的散列表 采用链地址法的散列表类 public class HashSetT { private SinglyLinkedListT[] table; //散列表,同义词单链表对象数组 public HashSet(int length) public HashSet() private int hash(T x) //散列函数 public void insert(T x) //插入x元素 public void remove(T x) //删除x元素 public T search(T key) //查找 } 例8.3 统计文本中各字符的出现次 数,为建立Huffman树做准备。 8.4 二叉排序树和平衡二叉树 8.4.1 二叉排序树 8.4.2 平衡二叉树 8.4.1 二叉排序树 定义 查找 3. 插入 二叉排序树类 public class BinarySortTreeT extends ComparableT extends BinaryTreeT 【例8.4】 二叉排序树的插入和查找操作。 4.二叉排序树的删除 5.二叉排序树的查找性能分析 8.4.2 平衡二叉树 平衡二叉树定义 2.平衡二叉树的插入 3.调整平衡的模式 (1)LL型调整 (2)RR型调整 (3)LR型调整 (4)RL型调整 《数据结构(Java版)(第3版)》 《数据结构(Java版)(第3版)》 8.1 查找的基本概念 8.2 基于线性表的查找 8.3 散列 8.4 二叉排序树和平衡二叉树 251 127 61 31 13 7 最大素数 256 128 64 3
您可能关注的文档
最近下载
- 教学课件:数字信号的认识2.ppt
- 第13课 清朝前中期的鼎盛与危机 课件(共25张PPT) 2024-2025学年统编版高中历史(必修)中外历史纲要(上).pptx VIP
- 物理重庆巴蜀九年级上册期中试卷检测题.pdf VIP
- ISO9001-2015质量管理体系.pptx VIP
- GB50202-2018 建筑地基工程施工质量验收标准.docx VIP
- 2023高考语文答题卡(彩色可以打印)(反面带有姓名座号).pdf
- 2021年人教版九年级物理上册期中考试及答案【通用】.doc VIP
- 第2讲 FPGA/CPLD结构原理.ppt VIP
- 太平保险公司培训课件.pptx VIP
- 部编六年级上册语文 第四单元表格式整体教学设计.pdf VIP
文档评论(0)