西安建筑科技大学:《数据结构基础(选修)》课程PPT电子教案_第七部分 查找(中文)

第九章查找
第九章查找

9,1基本概念 ,2顺序表 92顺序查找 9.2.2二分法查找 923分块查找
9.1.基本概念 9.2顺序表 9.2.1顺序查找 9.2.2二分法查找 9.2.3分块查找

9.3散列表 931概述 932散列函数的构造方法 9.3处理冲突的方法 9.3,4散列表的性能分祈
9.3散列表 9.3.1概述 9.3.2散列函数的构造方法 9.3.3处理冲突的方法 9.3.4散列表的性能分析

94树表 941二叉排序树 942平衡的二叉排序树 94.3B树 小结
9.4 .树表 9.4.1 二叉排序树 9.4.2 平衡的二叉排序树 9.4.3 B-树 小结

91基本概念 查找表:由同一类型的数据元素(记录)组成的集合, 可以由任意的数据结构实现。 查找表的操作:(1)查询某个“特定的”数据元素 是否在查找表中;(2)查找某个“特定的”数据元素的 属性;(3)在查找表中插入一个数据元素;(4)从查找 表中删除某个数据元素。 ◆静态查找表:若对查找表只作前两种操作,此类查找表称 静态查找表。 ◆动态查找表若在查找过程中同时插入查找表中不存在的 数据元素,或者从查找表中删除已经存在的某个数据元素, 此类查找表为动态查找表
◆查找表:由同一类型的数据元素(记录)组成的集合, 可以由任意的数据结构实现。 9.1 基本概念 ◆查找表的操作:(1)查询某个“特定的”数据元素 是否在查找表中;(2)查找某个“特定的”数据元素的 属性;(3)在查找表中插入一个数据元素;(4)从查找 表中删除某个数据元素。 ◆静态查找表:若对查找表只作前两种操作,此类查找表称 静态查找表。 ◆动态查找表:若在查找过程中同时插入查找表中不存在的 数据元素,或者从查找表中删除已经存在的某个数据元素, 此类查找表为动态查找表

◆关键字:数据元素中某个数据项的值,用它可以标示 查找表中的一个数据元素。主关键字可以唯一地标识 个记录,次关键字用以识别若干记录。 ◆査找:就是根据给定的关键字值,在特定的查找表中 确定一个其关键字与给定值相同的数据元素,并返回 该数据元素在查找表中的位置。如果找到数据元素 则称查找成功,否则查找失败。 ◆平均查找长度:为了确定数据元素在查找表中的位置 需要和给定值进行比较的关键字个数期望值,称为査 找算法在查找成功时的平均查找长度
◆关键字:数据元素中某个数据项的值,用它可以标示 查找表中的一个数据元素。主关键字可以唯一地标识 一个记录,次关键字用以识别若干记录。 ◆查找:就是根据给定的关键字值,在特定的查找表中 确定一个其关键字与给定值相同的数据元素,并返回 该数据元素在查找表中的位置。如果找到数据元素, 则称查找成功,否则查找失败。 ◆平均查找长度:为了确定数据元素在查找表中的位置 需要和给定值进行比较的关键字个数期望值,称为查 找算法在查找成功时的平均查找长度

对于长度为n的查找表,查找成功的平均查找长度为: ASL=PC1+P2C2+……+PnCn=PC 其中P为查找表中第i个数据元素的概率,C1为找到 查找表中第i个元素时,已经进行的比较次数。由于 査找算法的基本元素是关键字之间的比较操作,所以 可以平均査找长度来衡量查找算法的性能
•对于长度为n的查找表,查找成功的平均查找长度为: •其中Pi为查找表中第i个数据元素的概率,Ci为找到 查找表中第i个元素时,已经进行的比较次数。由于 查找算法的基本元素是关键字之间的比较操作,所以 可以平均查找长度来衡量查找算法的性能

92顺序表 顺序表中相邻的两个记录R和Ri+1在存储器中 的物理位置也是相邻的,因此存储结构采用的 是顺序结构。 顺序结构有关C+语言描述的数据类型定义: (为了简单起见,我们假设记录的排序码为整 型,在本章以后讨论的顺序表中均采用这样的 向量存储结构)
9.2顺序表 顺序表中相邻的两个记录Ri和Ri+1在存储器中 的物理位置也是相邻的,因此存储结构采用的 是顺序结构。 顺序结构有关C++语言描述的数据类型定义 : (为了简单起见,我们假设记录的排序码为整 型,在本章以后讨论的顺序表中均采用这样的 向量存储结构)

# define maxn30∥文件中最大记录数 tyi pedef struct int key;∥假设记录排序码为整数 char *other;∥记录中其它信息城,暂不用 record; typedef record recordfilelmaxn 顺序表的查找方法分为顺序查找法、二分法 (折半)查找法以及分块(索引)查找法
•顺序表的查找方法分为顺序查找法、二分法 (折半)查找法以及分块(索引)查找法。 #define maxn 30 // 文件中最大记录数 typedef struct { int key; // 假设记录排序码为整数 char *other; // 记录中其它信息域,暂不用 } record; typedef record recordfile[maxn];

921顺序查找 顺序查找( sequential search)用待查的关键字值与线 性表里各结点的关键字值逐个比较, 查找 0 2345678 765687697623113244查找次数=5 监视哨 查找第n个元素:比较次数1查找第n-1个元素:比较次数2 查找第1个元素:比较次数n 查找第个元素:比较次数n+1-i查找失败:比较次数n+1
9.2.1顺序查找 顺序查找(sequential search)用待查的关键字值与线 性表里各结点的关键字值逐个比较, •查找第n个元素:比较次数1 查找第n-1个元素:比较次数2 ………. 查找第1个元素:比较次数 n 查找第i个元素:比较次数n+1-i 查找失败:比较次数n+1 76 56 87 69 76 23 11 32 44 0 1 2 3 4 5 6 7 8 监视哨 查 找 76 ↑i ↑i ↑i ↑i ↑i 查找次数=5
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 西安建筑科技大学:《数据结构基础(选修)》课程PPT电子教案_第六部分 排序(中文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第六部分 图结构_图 Chapter 12 GRAPHS(英文).ppt
- 西安建筑科技大学:《数据结构基础(选修)》课程PPT电子教案_第五部分 图(中文).ppt
- 西安建筑科技大学:《数据结构基础(选修)》课程PPT电子教案_第四部分 树与二叉树(中文).ppt
- 西安建筑科技大学:《数据结构基础(选修)》课程PPT电子教案_第三部分 栈、队列、递归方法(中文).ppt
- 西安建筑科技大学:《数据结构基础(选修)》课程PPT电子教案_第二部分 线性表(中文).ppt
- 西安建筑科技大学:《数据结构基础(选修)》课程PPT电子教案_第一部分 绪论(中文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第五部分 树结构_多叉树 Chapter 11 MULTIWAY TREES(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第五部分 树结构_二叉树 Chapter 10 BINARY TREES(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第四部分 查找、排列_检索 Chapter 9 Tables And Information Retrieval(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第四部分 查找、排列_排列 Chapter 8 SORTING(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第四部分 查找、排列_查找 Chapter 7 SEARCHING(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第三部分 线性表_线性表 Chapter 6 LISTS AND STRINGS(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第二部分 栈、队列、递归方法_递归 Chapter 5 RECURSION(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第二部分 栈、队列、递归方法_链式栈与队列 Chapter 4 Linked Stacks and Queues(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第二部分 栈、队列、递归方法_队列 Chapter 3 QUEUES(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第二部分 栈、队列、递归方法_栈 Chapter 2 INTRODUCTION TO STACKS(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第一部分 绪论_大规模程序开发 Chapter 1 PROGRAMMING PRINCIPLES(英文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第一部分 绪论_数据结构导言(中文).ppt
- 西安建筑科技大学:《数据结构与算法》课程教学资源(PPT电子教案)第一部分 绪论_C++回顾(C++编程简介,中文).ppt
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第一部分 绪论_大规模程序开发 PROGRAMMING PRINCIPLES(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第二部分 栈、队列、递归方法_栈 INTRODUCTION TO STACKS(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第二部分 栈、队列、递归方法_队列 Queues(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第二部分 栈、队列、递归方法_递归 RECURSION(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第二部分 栈、队列、递归方法_链式栈与队列 LINKED STACKS AND QUEUES(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第三部分 线性表_线性表 LISTS(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第四部分 查找、排列_查找 Searching(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第四部分 查找、排列_排列 Sorting(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第四部分 查找、排列_检索 TABLES AND INFORM ATION RETRIEVAL(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第五部分 树结构_二叉树 BINAR Y TREES(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第五部分 树结构_多叉树 MULTIWAY TREES(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课堂笔记_第六部分 图结构_图 Graph(英文).doc
- 西安建筑科技大学:《数据结构基础》课程课外习题_第一部分 绪论.doc
- 西安建筑科技大学:《数据结构基础》课程课外习题_第二部分 线性表_数组.doc
- 西安建筑科技大学:《数据结构基础》课程课外习题_第二部分 线性表_链表.doc
- 西安建筑科技大学:《数据结构基础》课程课外习题_第三部分 栈、队列、递归方法_栈与队列.doc
- 西安建筑科技大学:《数据结构基础》课程课外习题_第三部分 栈、队列、递归方法_递归与广义表.doc
- 西安建筑科技大学:《数据结构基础》课程课外习题_第四部分 树结构.doc
- 西安建筑科技大学:《数据结构基础》课程课外习题_第五部分 查找与排序_集合与搜索.doc
- 西安建筑科技大学:《数据结构基础》课程课外习题_第五部分 查找与排序_排序.doc