- 1
- 0
- 约1.29万字
- 约 65页
- 2019-05-06 发布于广东
- 举报
第六章 线性表的检索 第六章 线性表的检索 6.1 基本概念 6.2 顺序检索 6.3 二分法检索 6.4 分块检索 6.5 散列表检索 6.6 基于属性的检索 6.1 基本概念 检索也是数据处理中常使用的一种重要运算 检索(也称查找):是在数据结构(常称为查找表)中查找满足某种条件的记录 最常见的一种方式(基于关键码的检索):根据给定的某个值,在查找表中确定一个关键码等于给定值的结点或记录。查找的结果: 成功:查找表中有关键码与给定值相等的记录 失败:查找表中不存在这样的记录 基于属性的检索:在结构中找出一个属性值等于给定值的结点或记录。查找的结果: 失败:没找到属性值与给定值相同的记录 成功:找到一个或多个满足条件的记录 6.1 基本概念 检索方法与存储结构有关: 一方面,对不同的存储结构,所使用的检索方法也不同 另一方面,为了提高检索效率,常使用一些特殊的存储结构,例如散列表,倒排表等 因此在讨论各种检索方法时,首先应清楚这些方法所需要的存储结构 检索的效率非常重要 尤其对于大数据量 需要对数据进行特殊的存储处理 预排序 排序算法本身比较费时 只是预处理(在检索之前已经完成) 建立索引 检索时充分利用辅助索引信息 牺牲一定的空间 提高检索效率 检索运算的主要操作:关键码的比较 检索方法评价 查找速度(效率),常用平均查找长度来衡量 占用存储空间多少 算法本身复杂程度 6.1 基本概念 6.1 基本概念 本章的假定: 线性表中的结点(记录)是等长的,不然的话我们可讨论其目录表 关键码为正整数,因为,若不然,我们总可以建立关键码与正整数之间一一对应的关系,而将关键码集合的检索转化为对其对应的正整数序列的检索 6. 2 顺序检索 顺序查找过程:从表的一端开始逐个进行记录的关键字和给定值的比较 存储(查找表):可以顺序、链式 排序要求:无 typedef struct { int key; //关键码 ··· ···; //其他信息 }RcdType; //记录类型 typedef RcdType Rcdlist[M+1]; //用顺序表存放记录 int Search_Seq(Rcdlist R, int k, int n){ //在顺序表R中查找关键字等于k的记录。找到返回该结点在表中的位置,否则返回0 { int j=n; //从表后往前查找 R[0].key=k; //查找对象放入0号单元 while(R[j].key!=k) j--; //依次查找,找不到时j为0 return j ; } 6. 3 二分法检索(折半查找) 查找过程:每次将待查记录所在区间缩小一半 适用条件:采用顺序存储结构的有序表(按关键码的大小排序) 算法描述 设表长为n,low、high和mid分别指向待查元素所在区间的上界、下界和中点,k为给定值 算法BS[二分法检索] BS1[置初始值] low←1,high n, mid ← ?(low+high)/2? BS2[k与mid指向记录的关键码比较] 若若相等,查找成功,返回mid 若k小,则置high←mid-1 若k大,则置low←mid+1 BS3[检索完成否] 若lowhigh,查找失败,返回失败信息;否则反复执行BS2 int search_Bin(SSTable st, int k, int n){ int low,high,mid; low=1; high=n; while((low=high) { mid=(low+high)/2; if(k==R[mid].key) return mid else if(kR[mid].key) low=mid+1; else high=mid-1; } return 0 ; } 二分法检索的ASL 最大检索长度为?log2(n+1) ? 6. 3 二分法检索 优缺点 优点:平均检索长度与最大检索长度相近,检索速度快 缺点:需要预排序、顺序存储,不易更新(插/删) 6. 4 分块检索 顺序与二分法的折衷 既有较快的检索 又可作较灵活的更改 适用条件:分块有序表 分块有序表(“按块有序”) 设线性表中共有n个数据元素,将表分成b块 不需要均匀,每一块可能不满 每一块内部记录的关键码不一定有序 但前一块中的最大关键码必须小于后一块中的最小关键码 查找过程: ① 确定待查记录所在的块 ② 块内查找待查记录 6. 4 分块检索 存储结构:索引顺序结构 用顺序表存放待查记录,每个结点
您可能关注的文档
最近下载
- ZXM10 EISU(V1.0)增强智能型采集单元用户手册.pdf VIP
- 政府机关物业管理服务保洁服务工作计划及操作规程服务方案.docx VIP
- 铜铝替代在电线电缆和家电行业的未来趋势展望.pdf
- 23J916-1 住宅排气道(一)图集.pdf VIP
- 油漆表面缺陷分类.pptx VIP
- ZXM10工程安装工艺规范-2012版.doc VIP
- 高清:2023年甘肃省高等职业教育分类考试招生中职升学考试财经商贸类专业基础试题及参考答案.docx VIP
- 2025 高新技术企业认定实操手册(含评分标准).docx VIP
- 商业综合体消防灭火疏散的应急预案范文(通用13篇).docx VIP
- 一种电动缸推拉力测试工装.pdf VIP
原创力文档

文档评论(0)