- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]search
计算机软件技术基础 §3.1 查找 也称检索 从大量的数据中找出所需要的数据。 不是一种数据结构,而是一种辅助性运算,技术 关键字: 数据元素中可以唯一标识一个数据元素的数据项。 定义: 查找 就是根据给定的关键字值,在一组数据中确定一个 其关键字值等于给定值的数据元素。 若存在这样的数据元素,则称查找是成功的; 否则查找不成功。 查找的两个问题 1.查找的方法: 依赖于该组数据的组织方式。 为提高查找效率,要求数据元素采用某些特殊的组织方式。 查找的两个问题 2.查找算法的评价 ⑴空间复杂度: 一般只需要一个或几个辅助空间,不重要。 ⑵时间复杂度: 基本运算是给定值与关键字值的比较 平均查找长度ASL: 定义 对于含有 n 个数据元素的查找表, 查找成功的平均查找长度为 ASL = 常用的查找方法 依赖于该组数据的组织方式。 一、简单查找方法 适合于以向量或线性链表作存储结构的顺序表 1.顺序查找 ss 2.二分查找 bs 3.分块查找 二、哈希查找 三、树表查找 一 、简单查找 (一)顺序查找 1.从第一个元素开始逐个把数据元素的关键字值和给定值比较,直到两者符合,则查找成功;找不到,说明不存在满足条件的数据元素,查找失败。 顺序查找适合于顺序存储结构组织的查找表,也适合于链式存储结构组织的查找表 2.算法(略) 3. 顺序查找性能分析 (1)比较次数: 最好情况 i = 1, ci = 1 次; 最坏情况 i = n, ci = n 次 (2)平均查找长度: 设查找各元素为等概率 pi=1/n 第i个数据元素需比较 ci = i 次 ASLss=∑pi ci =(1+2+3+……+n)/n= (n+1)/2 约为线性表长度的一半,效率不高,适合于短表 (二)对分查找 1、折半查找 .查找表需要按关键字有序 I过程:先确定待查记录所在的范围(区间), 然后逐步缩小范围,直到成功或失败为止 (二)对分查找 II步骤:设待查元素所在区域的下界为low,上界为high,则中间位置mid=(low+high) ①若此元素关键字值等于给定值,则查找成功 ②若大于给定值,则在区域 mid+1~high 内二分查找; ③若小于给定值,则在区域 low~ mid--1 内二分查找,重复上述过程 对分查找函数 int B_search(SqList R,KeyType K) { int low=1;int high=n,mid; While(low=high) { mid=(low+high)/2; If(R[mid].key=K)return mid; If(R[mid].keyK)high=mid-1; else low=mid+11; } return 0; } (3)性能分析* 假设表长 n = 2h -1, 查找各元素为等概率 pi=1/n,此处h 是满二叉树的高度 第一层结点数 1=20 查找各元素需比较1 次 第二层结点数 2=21 需比较2 次 第三层结点数 4=22 需比较3 次 第j层结点数 2j-1 需比较j 次 第h层结点数 2h-1 需比较h 次 平均查找长度 当n足够大时,可以得到它的近似值: ASLbs≈ Log2(n+1)-1 (三)分块查找 1、索引顺序查找 ⑴ 基本思想 ① 将数据元素均匀的分成几块, 各块之间按大小排序, 块内元素不排序 ②建立一个块的最大(或最小)索引关键字表,有序 ③查找分为两步: 第一步:先用待查关键字对索引关键字表进行二分查找 或顺序查找,确定待查数据元素可能在哪一块。 第二步:在已经确定的那一块中进行顺序查找。 整个过程由上述两步查找合成 (2)性能分析 分块查找的平均查找长度 ASL = ASLbs + ASLss 设每块有S个数据元素,比较 分块查找 ASL = Log2(n/S + 1) + S/2
您可能关注的文档
- [工作计划]顶岗实习计划书.doc
- [工作计划]项目章程.doc
- [工作计划]项目策划书.doc
- [工作计划]项目计划书.doc
- [工作计划]预案演练制度.doc
- [工作计划]风景道论文:风景道 国家风景道计划 评估体系.doc
- [工作计划]食品科学系第三届共青团风采之星大赛评分标准.doc
- [工作计划]香港街开荒保洁投标书.doc
- [工作计划]马军营联校党支部2012年工作计划.doc
- [工作计划]高年级德育品牌材料.doc
- 人工智能在初中跨学科教学中的应用:学习过程监控与干预研究教学研究课题报告.docx
- 小学劳动教育课程与农村留守儿童教育融合的实践研究教学研究课题报告.docx
- 高中政治法治教学中法律思维能力的培养策略教学研究课题报告.docx
- 人工智能教育平台个性化资源推荐机制与自适应学习效果评价研究教学研究课题报告.docx
- 《金融生态环境对区域实体经济发展的影响:基于金融风险防范与创新的协同效应》教学研究课题报告.docx
- 人工智能教育平台学习资源版权保护与交易机制的创新与挑战教学研究课题报告.docx
- 《农业保险农户风险保障效果与农业产业链风险防范机制的实证分析》教学研究课题报告.docx
- 《美容美发行业连锁经营模式下的技术创新与产业升级》教学研究课题报告.docx
- 区域教育扶贫效果评估:人工智能赋能下的实证分析与对策教学研究课题报告.docx
- 《基于云计算的软件开发平台在智慧城市交通管理中的应用》教学研究课题报告.docx
文档评论(0)