第4节 查找算法及程序实现

合集下载

对分查找算法及程序实现

对分查找算法及程序实现

例题:对分查找
1、首先在通用声明事件里定义数组d变量为全局变量。 Dim d(1 To 10) As Integer
2、程序一运行,生成10个3位整数,显示在标签1中。 Private Sub Form_Load() Label1.Caption = "" Randomize For i = 1 To 10 d(i) = Int(Rnd * 101 + 100) Label1.Caption = Label1.Caption & d(i) & " " Next i End Sub
数组d( ): Key=52
下标
元素
1 2 3
10 15 17
4
我们用变量 I和J记录所 要查找范围的起始和终止 位置
18
22 27 35 45
5 6 7 8 9 10
48
52 65 67 72
i=9
第2次比较后: Key<d(m) 查找范围应该 变成d(9)~d(11)
11
12 13 14 15 16
对分查找程序的基本框架: Private Sub Command1_Click() i = 1: j = n Do While i <= j m = (i + j) \ 2 If d(m) = Key Then '输出结果,退出查找(代码略) ElseIf Key < d(m) Then j=m-1 Else i=m+1 End If Loop End Sub
设置第一数和第n数 求中间数
1.下列有关查找的说法,正确的是 A.顺序查找时,被查找的数据必须有序 B.对分查找时,被查找的数据不一定有序 C.顺序查找总能找到要查找的关键字 D.一般情况下,对分查找的效率较高

浙江省杭州市萧山区2017年高考模拟命题比赛技术试卷13含答案

浙江省杭州市萧山区2017年高考模拟命题比赛技术试卷13含答案

2017年高考模拟试卷 信息技术卷命题双向细目表2017年高考模拟试卷信息技术卷总分:50分考试时间:45分钟一、选择题(本大题共12小题,每小题2分,共24分。

每小题列出的四个备选项中只有一个是符合题目要求的,不选、多选、错选均不得分)1.【原创】2016年,韩国围棋高手李世石挑战机器人“AlphaGo”以1:3失利。

今年四月份,在浙江乌镇将进行一场当今围棋第一人柯洁与“AlphaGo”的较量。

机器人“AlphaGo”挑战人类围棋高手,这主要体现了下列哪种技术( )A. 光电子技术B.人工智能技术C.多媒体通讯技术D.遥感技术难度0.85 区分度0.30 信度0.82参考答案:B命题意图与解析:本题考核信息技术发展及其应用。

机器人“AlphaGo”跟人对战,具有分析棋谱的能力,这属于人工智能范畴。

2.【根据高分直通车信息技术统一考试复习题改编】利用OCR光学字符识别软件可以快速地从图像中识别出字符,从而得到文本文件。

那么OCR软件能识别下列哪些文件( )①example.tif ②example.avi ③example.wav ④example.bmpA.②④B. ①③C. ②③D. ①④难度0.80 区分度0.38 信度0.83参考答案:D命题意图与解析:本题综合考核OCR的应用与文件类型的识记。

OCR软件识别的是图像文件,此题要求学生能对题中给出的四种文件类型能区分识别,找出图像文件。

3.【根据2016.4浙江省学考题改编】电子邮件从发送方传送到接收方的基本流程如图所示。

邮件从“发送方邮件服务器”传送到“接收方邮件服务器”(如图所示步骤④)的过程中使用的协议是( )A.SMTP B.POP3 C.HTTP D.HTML难度0.75 区分度0.35 信度0.78 参考答案:A命题意图与解析:本题考核电子邮件的协议。

简单邮件传输协议(SMTP)的作用是把电子邮件从发件人那里送到收件人那里,故此题选A。

浙江省2023年1月选考科目信息技术考试试卷

浙江省2023年1月选考科目信息技术考试试卷

浙江省2023年1月选考科目信息技术考试试卷12小题,每小题2分,共24分。

在每小题给(2023·浙江)阅读下列材料,请回答问题。

2022卡塔尔世界杯将首次正式使用半自动越位识别(SAOT)系统。

该系统使用12 个专用摄像头来跟踪每名球员的29个数据点位,以此计算每一个球员的确切位置。

同时,世界杯还使用了传感器足球,球内放置有惯性测量单元(IMU)传感器,其以每秒500次的频率将足球数据发送到视频操作室,从而可以非常精确地检测踢球点。

该系统可为视频裁判快速提供自动越位警报,当视频裁判与现场裁判确认越位后,系统将生成3D动画,以最佳视角将越位画面在赛场大屏上进行播放。

1.关于半自动越位识别(SAOT)系统,下列说法正确的是()A.该系统属于符号主义人工智能B.该系统使用的摄像头属于输入设备C.该系统生成的3D 动画属于模拟数据D.该系统使用的网络属于局域网2.关于该系统中相关的足球数据,下列说法正确的是()A.足球数据是已经产生的不可改变的数据,属于静态数据B.视频裁判根据足球数据分析越位产生的原因告诫运动员避免越位再次发生C.系统根据足球数据生成3D 动画,这使用了VR 技术D.IMU 以每秒500 频次将足球数据传到视频操作室,这说明大数据产生的速度非常快3.下列做法不利于该信息系统安全的是()A.将系统生成的3D动画在互联网上发布B.对系统中的视频裁判开放所有权限以便他们能观察到所有数据C.给每一位视频操作室人员分配一个绑定的“人脸识别”帐号D.系统后台管理员注销某位“提前透露世界杯比赛结果”的内部操作人员帐号4.(2023·浙江)使用UltraEdit软件观察某字符串内码如图所示:下列说法正确的是()A.该字符串中所有的ASCII码占用了10个字节的空间B.将字符“1”的内码与字符“a”内码进行异域运算后可得到字符“n”的内码C.由“1”的内码是31H,可得“10”的内码是3AHD.由图可知,计算机内部使用的是十六进制编码5.(2023·浙江)某声音文件经过MP3格式压缩后的属性如图所示:以下说法不正确的是()A.将选中部分声音进行“裁剪”操作后,声音的总时间将被减少到2秒B.该声音文件的大小约为315KBC.若未压缩前该文件小大为1.35MB,则该声音的量化位数为16位D.将该文件还原为WA VE格式,可得到无损的原文件6.(2023·浙江)下列Python表达式运算后,结果不为“C”是()A.ord("A"+2)B.chr(ord("B")+1)C."China"[0:1]D.{1:"B",2:"C"}[2]7.(2023·浙江)某排序算法排序过程如图所示,由图可知,该算法的时间复杂度为()A.O(n)B.O(n2)C.O(log2n)D.O(2n) 8.(2023·浙江)已知单向链表的节点类的Python代码定义如下:Class LinkNode:Def __init__(self,data_,next_=None):self.data=data_self.next=next_链表结构如图所示,已知原链表各节点值分别为“上->山->打->老->虎”。

C语言中的搜索算法详解

C语言中的搜索算法详解

C语言中的搜索算法详解搜索算法在计算机科学中起着重要的作用,它们可以帮助我们在大量数据中迅速找到目标元素。

在C语言中,有多种搜索算法可供选择。

本文将深入探讨一些常用的搜索算法,包括线性搜索、二分搜索和哈希表搜索。

一、线性搜索线性搜索是最简单的搜索算法之一,也被称为顺序搜索。

它逐个比较列表中的元素,直到找到目标元素或搜索完整个列表。

这种算法适用于无序列表,并且其时间复杂度为O(n),其中n为列表的长度。

在C语言中,我们可以使用for循环来实现线性搜索算法。

下面是一个示例代码:```c#include <stdio.h>int linear_search(int arr[], int n, int target) {for(int i = 0; i < n; i++) {if(arr[i] == target) {return i;}}return -1;}int main() {int arr[] = {1, 2, 3, 4, 5};int n = sizeof(arr) / sizeof(arr[0]);int target = 3;int result = linear_search(arr, n, target);if(result != -1) {printf("目标元素在列表中的索引为:%d\n", result);} else {printf("目标元素不在列表中。

\n");}return 0;}```二、二分搜索二分搜索是一种更有效的搜索算法,前提是列表已经按照升序或降序排列。

它通过将目标元素与列表的中间元素进行比较,并根据比较结果将搜索范围缩小一半。

这种算法的时间复杂度为O(logn),其中n 为列表的长度。

在C语言中,我们可以使用递归或迭代的方式实现二分搜索算法。

下面是一个使用迭代方式实现的示例代码:```c#include <stdio.h>int binary_search(int arr[], int low, int high, int target) {while(low <= high) {int mid = (low + high) / 2;if(arr[mid] == target) {return mid;} else if(arr[mid] < target) {low = mid + 1;} else {high = mid - 1;}}return -1;}int main() {int arr[] = {1, 2, 3, 4, 5};int n = sizeof(arr) / sizeof(arr[0]);int target = 3;int result = binary_search(arr, 0, n - 1, target);if(result != -1) {printf("目标元素在列表中的索引为:%d\n", result);} else {printf("目标元素不在列表中。

信息检索程序设计

信息检索程序设计

信息检索程序设计信息检索是指通过一定的算法和技术手段,根据用户的需求,在大规模数据中快速、准确地找到相关的信息。

信息检索程序设计是指通过编程实现这一过程的技术和方法。

本文将介绍信息检索程序设计的基本原理、常用算法和技术,以及一些实践案例。

一、基本原理信息检索程序设计的基本原理是通过建立索引,将文本数据中的关键词和其所在的位置进行标记,便于快速检索。

具体而言,可以按照以下步骤进行程序设计:1. 数据预处理:将原始文本进行分词处理,提取出关键词。

常用的分词算法有正向最大匹配、逆向最大匹配、最短路径分词等。

2. 建立索引:将预处理得到的关键词和其位置信息建立索引表。

索引表可以采用哈希表、倒排索引等数据结构存储。

3. 用户查询:根据用户输入的查询词,在索引表中查找并返回相关的文档位置。

4. 结果排序:根据一定的评价指标,对检索结果进行排序,以提供用户最相关的文档。

二、常用算法和技术在信息检索程序设计中,有一些常用的算法和技术可以提高检索的效率和准确性。

1. 倒排索引:将关键词作为索引,将文档的位置信息作为倒排表,可以快速找到包含该关键词的文档。

2. 向量空间模型:将文档和查询都表示为向量,在向量空间中计算文档和查询的相似度,以确定相关度。

3. 布尔模型:将文档和查询都表示为布尔表达式,通过逻辑运算进行精确匹配。

4. PageRank算法:通过分析超链接关系,计算网页的重要程度,以确定搜索结果的排序。

三、实践案例信息检索程序设计在实际应用中有着广泛的应用。

以下是一些实践案例:1. 搜索引擎:如百度、谷歌等搜索引擎,通过信息检索程序设计实现了对互联网上海量信息的快速检索。

2. 文本分类:如垃圾邮件过滤、情感分析等,通过信息检索程序设计实现对文本进行分类和标记。

3. 问答系统:如智能助手、智能客服等,通过信息检索程序设计实现对用户提问的准确回答。

四、总结信息检索程序设计是通过建立索引和采用一定的算法和技术,实现大规模数据中的快速、准确检索的过程。

对分查找算法及程序实现27页PPT

对分查找算法及程序实现27页PPT

36、自己的鞋子,自己知道紧在哪里。——西班牙
37、我们唯一不会改正的缺点是软弱。——拉罗什福科
xiexie! 38、我这个人走得很慢,但是我从不后退。——亚伯拉罕·林肯
39、勿问成功的秘诀为何,且尽全力做你应该做的事吧。——美华纳
40、学而不思则罔,思而不学则殆。——孔子
对分查找算法及程序实现
46、法律有权打破平静。——马·格林 47、在一千磅法律里,没有一盎司仁 爱。— —英国
48、法律一多,公正就少。——托·富 勒 49、犯罪总是以惩罚相补偿;只有处 罚才能 使犯罪 得到偿 还。— —达雷 尔
50、弱者比强者更能得到法律的保护 。——

数据结构的查找算法

数据结构的查找算法

数据结构的查找算法在计算机科学中,数据结构是用于组织和存储数据的一种方式。

查找算法是数据结构中的重要部分,它用于在数据集合中搜索特定元素或信息。

本文将介绍几种常见的数据结构查找算法,包括线性查找、二分查找、哈希查找以及树结构的查找算法。

1. 线性查找线性查找是一种简单直观的查找方法,适用于无序的数据集合。

其基本思想是从数据集合的第一个元素开始逐个比较,直到找到目标元素或者遍历完整个数据集合。

由于线性查找需要遍历所有元素,所以时间复杂度为O(n),其中n为数据集合的大小。

2. 二分查找二分查找是一种高效的查找算法,但它要求数据集合中的元素必须有序。

具体实现方式是将数据集合分为两半,然后与目标元素进行比较,不断缩小查找范围,直到找到目标元素或者确定目标元素不存在。

由于每次都将查找范围减小一半,所以时间复杂度为O(log n),其中n为数据集合的大小。

3. 哈希查找哈希查找利用哈希函数将目标元素映射到哈希表中的特定位置,从而快速定位目标元素。

哈希表是一种以键-值对形式存储数据的数据结构,可以快速插入和删除元素,因此在查找时具有良好的性能。

哈希查找的时间复杂度为O(1),但在处理哈希冲突时可能会影响性能。

4. 树结构的查找算法树是一种常见的数据结构,其查找算法主要包括二叉搜索树、平衡二叉搜索树以及B树和B+树。

二叉搜索树是一种有序的二叉树,左子树的所有节点值都小于根节点,右子树的所有节点值都大于根节点。

通过比较目标元素与节点的值,可以快速定位目标元素。

平衡二叉搜索树是为了解决二叉搜索树在某些情况下可能出现的退化情况,通过旋转操作保持树的平衡性。

B树和B+树是一种多路搜索树,它们可以减少磁盘I/O操作,适用于大规模数据的查找。

综上所述,数据结构的查找算法是计算机科学中的重要内容。

不同的查找算法适用于不同的场景,选择合适的算法可以提高查找效率。

在实际应用中,需要根据数据集合的特点及查找需求来选择合适的算法。

高中信息科技学科课程计划(上海版)

高中信息科技学科课程计划(上海版)
认真操作,积极思考,圆满完成任务。
主动拓展学习内容,并能提出问题,学习新内容
良好
能遵守纪律、爱护设备、认真听讲
认真操作、能够思考、较好完成任务
能够提出新问题,并能进行一定的钻研。
合格
能遵守纪律、爱护设备、认真听讲,有时做其他事情,但不影响别人。
能认真操作,能完成任务
有好奇心,对新问题能进行一定钻研,但不愿深入。
能公正地评价自己和同学且理由充分用语恰当,能按时完成承担的任务从不抄袭。
良好
能大概明白要做什么、怎么做,能想出办法解决问题,能找到资料,使用资料,能总结出自己工作的优缺点
能努力完成任务从不马虎,能保存资料从不丢失但查找困难,能做好活动记录并有具体内容。
能公正地评价自己和同学,能完成承担的任务从不抄袭但有时会拖延。
不能完成任务比较懒惰,不会保存资料或经常找不到,不做或很少做活动记录。
经常喜欢贬低他人或抬高自己,经常不完成任务并有抄袭现象。
评价方式
学生自评、互评、老师核准,鼓励学生认真评价,形成分数时各占一定比例。
说明:根据上海市的信息科技学科过程评价体系要求,评价的一级量纲有八个,下面还有很多二级量纲,我们根据学校目前的实际情况,选择其中的三个量纲为重点进行实施,根据不同的学习主题提出更具体的要求,在不断探索中做好这个工作。
合格
能在别人的启发下说出自己要做什么、怎么做,能在同伴的帮助下找到并使用资料,能在别人的启发下说出自己工作的优缺点。
能基本完成任务但不够认真,能保存资料但偶尔会丢失,能做好活动记录但偶尔会忘记。
能公正地评价他人但有时会抬高自己,能做到不抄袭但经常不能按时完成任务。
需努力
说不出自己要做什么、如何做,不会想办法也不会找资料,给了资料也不会用,说不出自己工作的优缺点。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

重难突破 栏目索引
③计算中间值位置的式子有多种写法,不同写法,查找过程可能不同。 实例:a(1)到a(10)的值依次为2,7,8, 10, 12, 13, 16, 18, 19, 20
公式 m=(i+j)\2 m=int((i+j)/2) m=fix((i+j)/2) m=int((i+j+l)/2) m=int((i+j)/2+0.5) m=(i+j)\2 if(i+j) mod 2=1 then m=m+1
教材研读 栏目索引
解析 比如5个元素的查找,第一次查找3号位置,第二、三次分别查 找1号和2号位置,三者相邻。对分查找在找不到的情况下,最少也需要 [log2n]次查找,相当于每次都在元素个数较少的数组中查找;选项D刚好相 反,每次都在元素个数较多的数组中查找,但总次数不会超过[log2n]+1次。
二、查找算法的程序实现
教材研读 栏目索引
1.顺序查找 在数据源中从头到尾逐个与查找关键词比较,顺序查找的代码如下:
For i=1 To n
If a(i)=key Then
Print i:Exit For
End If
Next i If i=n+1 then s=“未找到”
教材研读 栏目索引
说明:①for 语句用于访问整个查找源的数据,一般是从开始位置到结束 位置。 ②if 语句用于判断当前访问的元素是不是等于关键词。 ③一旦某个位置的数据等于关键词,则输出该位置,并且查找任务结束, 通常用语句 Exit for 退出循环。 ④未找到,也应该有输出。能找到的情况下,因为是通过exit for退出循 环的,因此退出循环时i<=n;找不到的情况下,退出循环时i=n+1。 ⑤顺序查找不要求数据源是有序的。
重难突破 栏目索引
查找的数据,则查找成功;或直到子表不存在,则查找不成功。 说明:①对分查找的每一次查找,要么找到了目标,结束任务;要么通过
比较中间值与关键词,将下一次的查找范围缩小一半,因此对分查找的效 率往往高于顺序查找。对n个数据查找某个值,最多需要查找int(log2n)+ 1次。
②找不到关键词的情况下,最后一遍查找时,i=j=m,若key>a(m),则i=m+ 1;若key<a(m), 则j=m-1。这两种情况都得到i=j+1,起始位置超过结束位 置,则该遍查找结束后会退出循环。
教材研读
2.对分查找的代码如下:
key=text1.text
������ 输入关键词
i=1:j=n ������ 设置首次查找的范围
f=False ������ f标志是否已经找到关键词
Do While i<=j And Not f ������ 未找到并且查找范围还存在
m=(i+j)\2 ������ 计算中间位置
栏目索引
教材研读 栏目索引
1.小王拿着一大串钥匙去开仓库的某一扇门,由于钥匙上没有任何标记, 小王只能将这一串钥匙一把一把地去试。从算法角度看,小王的做法属 于 ( D ) A.冒泡排序 B.选择排序 C.对分查找 D.顺序查找
教材研读 栏目索引
解析 本题主要考查两种查找算法的区别。顺序查找的基本思想 是从第一个数据开始,按数据的顺序逐个将数据与给定的值进行比较。 若某个数据和给定值相等,则查找成功;否则,查找不成功。本题中“一 把一把地去试”是顺序查找的基本思想。
教材研读 栏目索引
5.有一组数据为“2、3、5、5、7、7、8”,利用顺序查找和对分查找
查找5时,则分别查找几次可以找到目标值 ( C )
A.3 无法使用对分查找 B.4 无法使用对分查找
C.3 1
D.4 1
教材研读 栏目索引
解析 本题主要考查顺序查找和对分查找的基本思想。顺序查找 的基本思想是在数据源中从头到尾逐个与查找关键词比较,因此顺序查 找第3次查找找到目标值5。对分查找的基本思想是将查找关键词与数 据源中间位置的数据进行比较,如果两者相等,则查找成功;如果不相等, 则将查找范围缩小一半,并进行下一次查找。数据源中间位置的数据是 5,因此第1次查找就找到了目标。
栏目索引
第4节 查找算法及程序实现
总纲目录 栏目索引


一 查找算法的基本思想

突破 对分查找


总纲目录 栏目索引
教材研读
教材研读 栏目索引
一、查找算法的基本思想
1.顺序查找 顺序查找的基本思想是从第一个数据开始,按数据的顺序逐个将数 据与给定的值进行比较。若某个数据和给定值相等,则查找成功;如果所 有的数据都比较过,没有一个数据和给定值相等,则查找不成功。
次比较就能确
定是否存在所查找的元素 ( B )
A.11 B.12 C.13 D.14
重难突破 栏目索引
解析 本题主要考查对分查找的效率问题。根据对分查找的思想方法, 每一次查找的结果要么是找到,要么是找不到,如果找不到则将下一次 的查找范围缩小一半。最差的情况是数据源中没有查找对象,每次查找 都将查找范围缩小一半。规模为n个数的数据源,使用对分查找时,最多 经过Int(log2n)+1次查找。Int(log24000)+1=11+1=12。
重难突破 栏目索引
ElseIf Key < a(m) Then j=m-1
Else i=m+1
End If Loop Text2.Text=s 数组元素a(1)到a(10)的值依次为“3,10,25,34,40,52,61,72,83,90”。该
重难突破 栏目索引
程序段执行后,下列说法中正确的是 ( D ) A.待查找的数据只能是整数 B.在文本框Text1中输入任意正整数进行查找,则查找的次数介于1和5 之间 C.在文本框Text1中输入10,则文本框Text2中显示的内容为5 2 D.若在某次查找中,i=j时,条件“Key=a(m)”仍不成立,表示查找的数据 不存在
教材研读 栏目索引
2.使用对分查找算法在包含某个有序元素的数组中查找某值,下列说法 错误的是(中括号[]表示向下取整) ( B ) A.第一次查找的位置一般是[(1+n)/2] B.在某连续的三次查找中,不可能是三个相邻的元素 C.如果找不到,那么最少需要查找[log2n]次 D.如果找得到,那么最多需要查找[log2n]+1次
查找过程
重难突破 栏目索引
序号表示第几次找到该数。如果“if (i+j) mod 2=1 then m=m+1”写 成“if j mod 2=0 then m=m+1”,查找过程可能也不同,要根据实际情况。
重难突破 栏目索引
例1 有一个由4000个整数构成的顺序表,假定表中的元素已经按升序
排列,采用对分查找查找一个元素,则最多需要
③对分查找的前提是被查找的数据必须是有序的。
教材研读
3.对分查找的其他写法 key=text1.text
i=1:j=n Do While i<=j m=(i+j)\2 If key=a(m) Then Exit Do ������ 找到关键词,直接退出循环 If key<a(m) Then j=m-1 Else i=m+1 Loop
If key=a(m) Then
f=True ������ 相等表示找到了,将f设为True
栏目索引
ElseIf key<a(m) Then j=m-1 ������ 下一次查找范围是前半部分
Else i=m+1 ������ 下一次查找范围是后半部分
End If Loop
教材研读 栏目索引
教材研读 栏目索引
教材研读 栏目索引
度是O(log2n),比顺序查找的效率高。虽然对于查找某些关键词(往往在 数据源中是比较靠前的),顺序查找很快,但这只是特殊情况,不能代表平 均情况。
重难突破
对分查找
重难突破 栏目索引
对分查找的基本思想:查找的数据源 a(1)到 a(n)是有序的(如从小 到大排序),查找的关键词是 key,则第一次查找的范围是[1,n],如果中间 位置为 m,则 m=(1+n)\2。如果key=a(m),则查找成功;如果 key<a(m),则 下一次查找的范围变为[1,m-1];如果 key>a(m),则下一次查找的范围变 为[m+1,n]。在新确定的范围内,继续按上述方法进行查找,直到找到要
教材研读 栏目索引
6.数组A中存放了某校学生的身高数据(单位:厘米),数据存放情况如下
表:
A(1) A(2) A(3) A(4) A(5) A(6) A(7)
A(8)
A(9) A(10) A(11)
185
182
178
176
176 175 171
169
167
166
165
若要查找数组中是否存在数据182,以下表述正确的是 ( A ) A.本组数据既能采用对分查找算法,也能采用顺序查找算法 B.本组数据采用对分查找需比较4次,而顺序查找只需2次,所以对分查 找效率高的说法不对
解析 本题主要考查对对分查找算法基本思想的理解。将7个数据 从1到7进行编号。第一次访问到的数据是第4个,即172(中间位置m=Fix ((1+7)/2)=4),178>172,因此下一次查找的范围是前半部分,即第1个到第 3个。因此第二次访问的数据应该是第2个,即177(中间位置m=Fix((1+ 3)/2)=2),178>177,因此下一次查找的范围是前半部分,即第1个,因此第 三次访问的数据是第1个,即178。
教材研读 栏目索引
2.对分查找 对分查找的基本思想是在有序的数据列中,首先将要查找的数据与有 序数组内处于中间位置的数据进行比较,如果两者相等,则查找成功;否则 根据数组元素的有序性,就可确定该数据应该在数组的前半部分还是后 半部分继续进行查找。在新确定的范围内,继续按上述方法进行查找, 直到找到要查找的数据,则查找成功,或直到子表不存在,则查找不成功。 对分查找的条件是被查找的数据列必须是有序的。
相关文档
最新文档