河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.1 查找的基本概念 9.2 线性表的查找

第9章查找 9.1查找的基本概念 9.2线性表的查找 提纲 9.3树表的查找 CONTENTS 9.4哈希表查找 作业 上机实验题 1/64
CONTENTS 提纲 1/64

一般情况下,被查找的对象称为查找表,查找表包含一组元素(或记 录),每个元素由若干个数据项组成,并假设有能唯一标识元素的数据 项,称为主关键字(默认按主关键字查找)。 查找定义为:给定一个值k,在含有n个元素的查找表中找出关键字等于k 的元素。若找到这样的元素,表示查找成功,返回该元素的信息或该元 素在表中的位置;否则查找不成功或者查找失败,返回相应的指示信息。 2/64

查找表按照操作方式分为静态查找表和动态查找表两类。 静态查找表是只作查找操作的查找表,主要操作有查询某个“特定的” 数据元素是否在查找表中,检索某个“特定的”数据元素及其属性。 动态查找表是在查找过程中同时插入查找表中不存在的数据元素,或 者从查找表中删除已经存在的某个数据元素。 3/64

查找有内查找和外查找之分。 若整个查找过程都在内存进行,则称之为内查找。 反之,若查找过程中需要访问外存,则称之为外查找。 4/64

查找算法中的主要操作是关键字之间的比较,所以通常把查找过程中 关键字平均比较次数也就是平均查找长度作为衡量一个查找算法效率 优劣的依据。 平均查找长度ASL(Average Search Length)定义为 其中,n是查找表中元素的个数,pi是查找第i个元素的概率,一般 地,除特别指出外,均认为每个元素的查找概率相等,即pi=1/n (1≤i≤n),ci是查找到第i个元素所需的关键字比较次数。 查找性能评价 5/64

由于查找的结果有查找成功和不成功两种情况,所以平均查找长度也 分为成功情况下的平均查找长度和不成功情况下的平均查找长度。 成功情况下的平均查找长度指在查找表中找到指定关键字k的元素平 均所需关键字比较的次数。 不成功情况下的平均查找长度指在查找表中确定找不到关键字k的元 素平均所需关键字比较的次数。 6/64

查找表T:含有n个记录。 成功情况下(概率相等)的平均查找长度ASL成功是指找到T中任一记录平均 需要的关键字比较次数。 关键字 5 1 4 8 7 9 2 4 3 找到时的比较 次数 1 2 3 4 5 6 7 8 9 ASL成功= 1+2+3+4+5+6+7+8+9 9 = 5 例如: 7/64

查找表T:含有n个记录。 不成功情况下的平均查找长度ASL不成功是指查找失败(在T中未查找到)平均 需要的关键字比较次数。 x T 通过关键字比较后确定不在T中 平均关键字比较次数 8/64

线性表采用顺序表存储,由于顺序表不适合数据修改操作(插入和删除 元素几乎需要移动一半的元素) 顺序表是一种静态查找表。 三种线性表查找方法,即顺序查找、折半查找和分块查找算法。 9/64

顺序表中元素的类型 class RecType //顺序表元素类型 { int key; //存放关键字,假设关键字为int类型 String data; //存放其他数据,假设为String类型 public RecType(int d) //构造方法 { key=d; } } 10/64
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.6 拓扑排序 8.7 AOE网与关键路径.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.5 最短路径.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.4 生成树和最小生成树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.3 图的遍历.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第8章 图 8.1 图的基本概念 8.2 图的存储结构.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.9 树算法设计和并查集.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.6 线索二叉树 7.7 哈夫曼树 7.8 二叉树与树、森林之间的转换.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.4 二叉树的层次遍历 7.5 二叉树的构造.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.3 二叉树先序、中序和后序遍历.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.2 二叉树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第7章 树和二叉树 7.1 树.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第6章 数组和稀疏矩阵.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第5章 递归.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第4章 串.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第3章 栈和队列 3.2 队列.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第3章 栈和队列 3.1 栈.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.5 线性表的应用.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.3 线性表的链式存储结构 2.4 顺序表和链表的比较.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第2章 线性表 2.1 线性表的定义 2.2 线性表的顺序存储结构.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第1章 绪论 1.3 算法分析 1.4 数据结构的目标.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(1/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.3 树表的查找(2/2).pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第9章 查找 9.4 哈希表查找.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.1 排序的基本概念 10.2 插入排序 10.3 交换排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.4 选择排序.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.5 归并排序 10.6 基数排序 10.7 各种内排序方法的比较和选择.pptx
- 河池学院:《数据结构》课程电子教案(PPT教学课件)第10章 排序 10.8 外排序.pptx
- 《Python数据分析》课程电子教案(PPT课件)第1章 数据分析与可视化概述新.pptx
- 《Python数据分析》课程电子教案(PPT课件)第2章 Python编程基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第3章 NumPy数值计算基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第4章 pandas统计分析基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第5章 Pandas数据载入与预处理.pptx
- 《Python数据分析》课程电子教案(PPT课件)第6章 Matplotlib数据可视化基础.pptx
- 《Python数据分析》课程电子教案(PPT课件)第7章 利用Seaborn绘图.pptx
- 《Python数据分析》课程电子教案(PPT课件)第8章 pyecharts可视化.pptx
- 《Python数据分析》课程电子教案(PPT课件)第9章 时间序列数据分析.pptx
- 《Python数据分析》课程电子教案(PPT课件)第10章 SciPy科学计算.pptx
- 《R语言》课程教学资源(PPT课件)第01章 进入R的世界.pptx
- 《R语言》课程教学资源(PPT课件)第02章 R语言基础.pptx
- 《R语言》课程教学资源(PPT课件)第03章 R函数与流程控制.pptx
