二分搜索实验报告

合集下载

非线性方程解法二分法实验报告

非线性方程解法二分法实验报告

第七章非线性方程解法⒈二分法考察有根区间[a, b],取中点x0=(b+a)/2 将它分为两半,假设中点x0不是f(x)的零点,然后进行根的搜索,即查找f(x0)与f(a)是否同号,如果确系同号,说明所求的根x*在x0的右侧,这是令a1= x0,b1=b;否则x*必在x0的左侧,这是令a1=a,b1=x0,不管出现哪一种情况,新的有根区间[a1, b1]的长度仅为[a, b]的一半。

.重复以上做法得新近似根x1,…这样不断将区间分半,得到一系列区间[an , bn],和近似根(区间中点)nx,n=0,1,2,3…,nx误差为(b-a)/2n+1.这样的方法称为二分法。

下面是一个关于二分法的例子。

例1求f(x)=x3- x-1=0在区间[1,1.5]内的一个实根,要求准确到小数点后的第二位.这里a=1,b=1.5,而f(a)<0,f(b)>0。

取[a,b]的中点x0=1.25,将区间二等分,由于f(x0 )<0, 既f(x0 )与f(a)同号,故所求的根x*必在x0 右侧,这是应令a1=x0 =1.25, b1=b=1.5,而得到新的有根区间[a1,b1],这样继续结果如下表:x6.实际上x5就有三位有效数字了.二分法实验(1)上机题目:二分法的应用实验目的:熟悉二分法并在计算机上实现实验要求:①上机前充分准备,复习有关内容,写出计算步骤,查对程序;②完成实验后写出完整的实验报告,内容应该包括:所用的算法语言,算法步骤陈述,变量说明,程序清单,输出计算结果,结果分析等等;③用编好的程序在Matlab环境中执行。

算法说明:①找出计算f(x)在有限根区间[a, b]端点的值,f(a),f(b)②计算计算f(x)在区间中点(2ba+)处的值f(2ba+) .③判断若f(2ba+)=0,则2ba+即是根,计算过程结束,否则检验若f(2ba+)f(a)<0,则以2ba+代替b,否则以2ba+代替a.反复执行步骤②和步骤③,直到区间[a, b]长度小于允许误差ξ,此时中点2ba+即为所求近似根。

二分搜索算法实验报告

二分搜索算法实验报告

二分搜索算法实验报告篇一:实验报告2--二分搜索技术注意:红色的部分需要用自己的代码或内容进行替换。

湖南涉外经济学院实验报告实验课程:算法设计与分析实验项目:二分搜索技术学院专业实验地点分组组号实验时间 XX年 3 月 10 日星期一第 12节指导老师【实验目的和要求】1. 理解分治法的原理和设计思想;2.要求实现二分搜索算法;3.要求交互输入一组关键字序列,输入需要查找的关键字;4. 要求显示结果。

【系统环境】操作系统:Windows XP 操作系统开发工具:VC++6.0英文企业版开发语言:C,C++【实验原理】1、问题描述给定已排好序的n个元素a[0…n-1],现要在这n个元素中找出一特定元素x。

2、实验原理二分搜索方法充分利用了元素间的次序关系(但也局限于此),采用分治策略,将n个元素分成个数大致相同的两半,取a[n/2]与x进行比较。

如果x=a[n/2],则找到x,算法终止。

如果xa[n/2],则只要在数组a的右半部继续搜索x。

【实验任务与步骤】1、实验步骤(可以根据自己的程序修改)(1) 实现顺序搜索。

(2) 实现二分搜索算法的递归算法。

(3) 实现二分搜索算法的非递归算法。

(4) 编写主函数,调用所写的三个算法进行测试,并进行输出。

2、源程序代码// 此处为解决问题的完整源程序,要求带注释,代码必须符合书写规范。

(1) 顺序搜索(2) 递归的二分搜索(3) 非递归的二分搜索(原文来自:小草范文网:二分搜索算法实验报告)……【实验结论(包括实验数据处理、问题与解决办法、心得体会、意见与建议等)】// 此处为程序运行的结果,要求有程序运行输入输出实例,要求至少有两组实验结果。

// 必须写心得体会、意见与建议等,或者遇到的问题、难题等。

……篇二:查找排序实验报告实验十:查找、排序计算机学院 12级2班 12110XX 李龙实验目的:1.掌握折半查找算法的思想。

2.实现折半查找的算法。

3.掌握常见的排序算法(插入排序、交换排序、选择排序等)的思想、特点及其适用条件。

搜索引擎的实验报告

搜索引擎的实验报告

一、实验目的1. 了解搜索引擎的基本原理和功能。

2. 评估不同搜索引擎的性能,包括搜索速度、准确性、相关性等。

3. 分析搜索引擎的优缺点,为实际应用提供参考。

二、实验环境1. 操作系统:Windows 102. 浏览器:Chrome3. 搜索引擎:百度、谷歌、必应、搜狗三、实验内容1. 搜索速度测试2. 搜索准确性测试3. 搜索相关性测试4. 搜索引擎优缺点分析四、实验步骤1. 搜索速度测试(1)分别打开百度、谷歌、必应、搜狗四个搜索引擎。

(2)在搜索框中输入相同的关键词,如“搜索引擎”。

(3)记录每个搜索引擎的搜索结果出现时间。

(4)比较四个搜索引擎的搜索速度。

2. 搜索准确性测试(1)在搜索框中输入关键词“搜索引擎”。

(2)分析搜索结果中与关键词相关的内容,判断搜索结果的准确性。

(3)比较四个搜索引擎的搜索准确性。

3. 搜索相关性测试(1)在搜索框中输入关键词“搜索引擎”。

(2)分析搜索结果中与关键词相关的内容,判断搜索结果的相关性。

(3)比较四个搜索引擎的搜索相关性。

4. 搜索引擎优缺点分析(1)分析四个搜索引擎在搜索速度、准确性、相关性等方面的优缺点。

(2)结合实际应用场景,总结各搜索引擎的适用范围。

五、实验结果与分析1. 搜索速度测试结果(1)百度:搜索结果出现时间为2秒。

(2)谷歌:搜索结果出现时间为1.5秒。

(3)必应:搜索结果出现时间为2.5秒。

(4)搜狗:搜索结果出现时间为2秒。

从实验结果可以看出,谷歌的搜索速度最快,其次是百度,搜狗和必应的搜索速度相对较慢。

2. 搜索准确性测试结果(1)百度:搜索结果中约80%与关键词相关。

(2)谷歌:搜索结果中约85%与关键词相关。

(3)必应:搜索结果中约75%与关键词相关。

(4)搜狗:搜索结果中约80%与关键词相关。

从实验结果可以看出,谷歌和百度的搜索准确性较高,其次是搜狗,必应的搜索准确性相对较低。

3. 搜索相关性测试结果(1)百度:搜索结果中约70%与关键词相关。

实验四 搜索 实验报告

实验四 搜索 实验报告

实验四搜索实验报告一、实验目的本次实验的主要目的是深入了解和掌握不同的搜索算法和技术,通过实际操作和分析,提高对搜索问题的解决能力,以及对搜索效率和效果的评估能力。

二、实验环境本次实验使用的编程语言为 Python,使用的开发工具为 PyCharm。

实验中所需的数据集和相关库函数均从网络上获取和下载。

三、实验原理1、线性搜索线性搜索是一种最简单的搜索算法,它从数据的开头开始,依次比较每个元素,直到找到目标元素或者遍历完整个数据集合。

2、二分搜索二分搜索则是基于有序数组的一种搜索算法。

它每次将数组从中间分割,比较目标值与中间元素的大小,然后在可能包含目标值的那一半数组中继续进行搜索。

3、广度优先搜索广度优先搜索是一种图搜索算法。

它从起始节点开始,逐层地访问相邻节点,先访问距离起始节点近的节点,再访问距离远的节点。

4、深度优先搜索深度优先搜索也是一种图搜索算法,但它沿着一条路径尽可能深地访问节点,直到无法继续,然后回溯并尝试其他路径。

四、实验内容及步骤1、线性搜索实验编写线性搜索函数,接受一个列表和目标值作为参数。

生成一个包含随机数的列表。

调用线性搜索函数,查找特定的目标值,并记录搜索所用的时间。

2、二分搜索实验先对列表进行排序。

编写二分搜索函数。

同样生成随机数列表,查找目标值并记录时间。

3、广度优先搜索实验构建一个简单的图结构。

编写广度优先搜索函数。

设定起始节点和目标节点,进行搜索并记录时间。

与广度优先搜索类似,构建图结构。

编写深度优先搜索函数。

进行搜索并记录时间。

五、实验结果与分析1、线性搜索结果在不同规模的列表中,线性搜索的时间消耗随着列表长度的增加而线性增加。

对于较小规模的列表,线性搜索的效率尚可,但对于大规模列表,其搜索时间明显较长。

2、二分搜索结果二分搜索在有序列表中的搜索效率极高,其时间消耗增长速度远低于线性搜索。

即使对于大规模的有序列表,二分搜索也能在较短的时间内找到目标值。

3、广度优先搜索结果广度优先搜索能够有效地遍历图结构,并找到最短路径(如果存在)。

算法实验报告范文

算法实验报告范文

算法实验报告范文《算法设计与分析》实验报告班级姓名学号年月日目录实验一二分查找程序实现…………………………………………………………………03页实验二棋盘覆盖问题(分治法).…………………………………………………………08页实验三0-1背包问题的动态规划算法设计……………………………………………….11页实验四背包问题的贪心算法………………………………………………………………14页实验五最小重量机器设计问题(回溯法)………………………………………………17页实验六最小重量机器设计问题(分支限界法)…………………………………………20页指导教师对实验报告的评语成绩:指导教师签字:年月日2实验一:二分查找程序实现一、实验时间:2022年10月8日,星期二,第一、二节地点:J13#328二、实验目的及要求目的:1、用c/c++语言实现二分搜索算法。

2、通过随机产生有序表的方法,测出在平均意义下算法比较次数随问题规模的变化曲线,并作图。

三、实验环境平台:Win732位操作系统开发工具:Codeblock10.05四、实验内容对已经排好序的n个元素a[0:n-1],现在要在这n个元素中找出一特定元素某。

五、算法描述及实验步骤算法描述:折半查找法也称为二分查找法,它充分利用了元素间的次序关系,采用分治策略,可在最坏的情况下用O(logn)完成搜索任务。

它的基本思想是,将n个元素分成个数大致相同的两半,取a[n/2]与欲查找的某作比较,如果某=a[n/2]则找到某,算法终止。

如果某a[n/2],则我们只要在数组a的右半部继续搜索某。

二分搜索法的应用极其广泛,而且它的思想易于理解。

确定算法复杂度基本步骤:1、首先设定问题规模n;2、随即产生递增数列;3、在n个有序数中随机取一个作为待查找量,搜索之;4、记录查找过程中的比较次数,再次生成新的有序表并查找,记录查找次数,每个数组重复10次;5、改变问题规模n重复上述步骤2~4,n取100、200……1000;6、依实验数据作图,并与理论图作比较;7、二分搜索算法平均查找次数:问题规模为n时,平均查找次数为:A(n)=Int(logn)+1/2//Int()函数为向下取整3即二分搜索算法对于含有n个数据的有序表L平均作了约Int(logn)+1/2次的查找操作。

递归与分治实验报告

递归与分治实验报告

竭诚为您提供优质文档/双击可除递归与分治实验报告篇一:实验一递归与分治算法编程-实验报告纸南京信息工程大学实验(实习)报告实验(实习)名称递归与分治算法编程实验(实习)日期得分指导教师院专业年级班次姓名学号1.实验目的:1)掌握递归与分治策略的基本思想2)掌握递归算法在阶乘函数、Ackerman函数、整数划分等问题上的应用3)掌握二分查找、合并排序、快速排序等问题的分治算法实现4)熟悉myeclipse或eclipse等Java开发工具的使用。

2.实验内容:1)采用myeclipse或eclipse编程实现基于分治策略的二分查找算法。

2)采用myeclipse或eclipse编程实现基于分治策略的合并排序算法。

3)采用myeclipse或eclipse编程实现基于分治策略的合并排序算法。

3.实验步骤二分查找publicclasssorting{publicstaticintbinarysearch(int[]a,intx,intn){intle ft=0;intright=n-1;while(left intmiddle=(left+right)/2;if(x==a[middle])returnmiddle;if(x>a[middle])left=middle+1;elseright=middle-1;}return-1;}publicstaticvoidmain(stringargs[]){intx,n;inta[]={1,3,4,5,6,13,25};x=6;n=7;ints;s=binarysearch(a,x,n);system.out.println(s);合并排序publicclassmergesort{publicstaticvoidmergesort(int[]a){}publicstaticvoid mergepass(int[]x,int[]y,ints){}publicstaticvoidmerg e(int[]c,int[]d,intl,intm,intr){inti=1,j=m+1,k=1;in ti=0;while(i }}if(c[i]-(c[j])m)for(intq=j;q快速排序publicclassQsort{privatestaticvoidqsort(inta[],intp,intr){}privatest aticintpartition(inta[],intp,intr){inti=p;intj=r+1; intx=a[p];inttemp;while(true){while((a[++i]-x)0);if (i>=j)break;temp=a[i];if(p }}}a[j]=temp;mymath.s wap(a,i,j);//a[p]=a[j];a[j]=x;returnj;publicstaticv oidmain(string[]args){}inta[]={4,2,7,9,1};qsort(a,0,4);for(inti=0;;i++){}s ystem.out.println(a[i]);4.实验分析和总结掌握了递归与分治策略的基本思想掌握了递归算法在阶乘函数、Ackerman函数、整数划分等问题上的应用掌握了二分查找、合并排序、快速排序等问题的分治算法实现熟悉了myeclipse或eclipse等Java开发工具的使用。

算法与分析实验报告

算法与分析实验报告

算法与分析实验报告一、引言算法是现代计算机科学中的核心概念,通过合理设计的算法可以解决复杂的问题,并提高计算机程序的执行效率。

本次实验旨在通过实际操作和数据统计,对比分析不同算法的执行效率,探究不同算法对于解决特定问题的适用性和优劣之处。

二、实验内容本次实验涉及两个经典的算法问题:排序和搜索。

具体实验内容如下:1. 排序算法- 冒泡排序- 插入排序- 快速排序2. 搜索算法- 顺序搜索- 二分搜索为了对比不同算法的执行效率,我们需要设计合适的测试用例并记录程序执行时间进行比较。

实验中,我们将使用随机生成的整数数组作为排序和搜索的测试数据,并统计执行时间。

三、实验步骤1. 算法实现与优化- 实现冒泡排序、插入排序和快速排序算法,并对算法进行优化,提高执行效率。

- 实现顺序搜索和二分搜索算法。

2. 数据生成- 设计随机整数数组生成函数,生成不同大小的测试数据。

3. 实验设计- 设计实验方案,包括测试数据的规模、重复次数等。

4. 实验执行与数据收集- 使用不同算法对随机整数数组进行排序和搜索操作,记录执行时间。

- 多次重复同样的操作,取平均值以减小误差。

5. 数据分析与结果展示- 将实验收集到的数据进行分析,并展示在数据表格或图表中。

四、实验结果根据实验数据的收集与分析,我们得到以下结果:1. 排序算法的比较- 冒泡排序:平均执行时间较长,不适用于大规模数据排序。

- 插入排序:执行效率一般,在中等规模数据排序中表现良好。

- 快速排序:执行效率最高,适用于大规模数据排序。

2. 搜索算法的比较- 顺序搜索:执行时间与数据规模成线性关系,适用于小规模数据搜索。

- 二分搜索:执行时间与数据规模呈对数关系,适用于大规模有序数据搜索。

实验结果表明,不同算法适用于不同规模和类型的问题。

正确选择和使用算法可以显著提高程序的执行效率和性能。

五、实验总结通过本次实验,我们深入了解了不同算法的原理和特点,并通过实际操作和数据分析对算法进行了比较和评估。

数组程序设计实验报告

数组程序设计实验报告

数组程序设计实验报告数组程序设计实验报告引言在计算机科学领域,数组是一种重要的数据结构,用于存储和操作大量相同类型的数据。

数组的使用广泛,无论是在算法设计还是软件开发中,都扮演着重要的角色。

本实验旨在通过编写数组程序,探索数组的特性和应用。

一、数组的定义与初始化数组是一种由相同类型的元素组成的集合,每个元素都可以通过索引访问。

在程序中,我们可以通过声明数组变量来定义一个数组。

例如,int numbers[5]就定义了一个包含5个整数的数组。

数组的初始化可以在声明时进行,也可以在后续的代码中进行。

二、数组的基本操作1. 访问数组元素数组元素可以通过索引来访问,索引从0开始。

例如,numbers[0]表示数组numbers的第一个元素。

通过循环遍历数组,我们可以逐个访问数组中的元素。

2. 修改数组元素数组元素的值可以通过索引进行修改。

例如,numbers[0] = 10将把数组numbers的第一个元素的值修改为10。

3. 数组的长度数组的长度是指数组中元素的个数。

在C语言中,可以通过sizeof运算符来获取数组的长度。

例如,sizeof(numbers) / sizeof(numbers[0])将返回数组numbers的长度。

三、数组的应用1. 数组的排序数组排序是数组程序设计中常见的任务之一。

常见的排序算法包括冒泡排序、选择排序和插入排序。

通过对数组元素进行比较和交换,可以将数组按照升序或降序排列。

2. 数组的搜索数组搜索是另一个常见的任务,它涉及在数组中查找特定的元素。

线性搜索是一种简单直观的搜索方法,它逐个比较数组元素,直到找到目标元素或搜索完整个数组。

二分搜索是一种更高效的搜索方法,它要求数组事先有序。

3. 多维数组除了一维数组,我们还可以使用多维数组来存储和处理更复杂的数据。

二维数组是最常见的多维数组形式,它可以看作是一个表格或矩阵。

通过使用行和列的索引,我们可以访问和修改二维数组中的元素。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

南京邮电大学通达学院
实验报告
实验名称:二分查找原理
课程名称:微型计算机原理与接口技术
姓名班级学号:钱煜中
142501
14250120
实验时间:2016.11.25
二分查找原理
一、实验原理:
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。

因此,折半查找方法适用于不经常变动而查找频繁的有序列表。

首先,假设表a中n个元素是按升序排列,将表中间位置记录的关键字与查找关键字x比较,如果x=a[n/2]两者相等,则x查找成功,算法终止;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字x<a[n/2],则进一步在前一子表中搜索x,否则若x>a[n/2],查找后一子表。

重复以上过程,直到找到满足条件的记录x,使查找成功,或直到子表不存在为止,此时查找不成功。

值得注意的是,如果查找值x是有序序列a中的重复元素,二分查找不确定找到的是重复元素中的哪一个,例如,对于序列{1,2,3, 3,4},如果查找值为3,那么最终查找记录位置为3号元素或者4号元素都是正确结果;另一方面,如果找不到与查找值x完全相等的数值,将以序列a中与x最为相近的值作为最终查找结果。

举例。

有序序列a = {1,2,3,4,5,7,9},查找数据x = 5,步骤如下:
序列a共有7个元素,因此查找数据5,
第一次比较,time = 1,index_mid = 4,mid = 4,x > mid,所以在后半部分中查找{4,5,7,9};
第二次比较,time = 2,index_mid = 6,mid = 7,x < mid,因此在前半部分中查找{4,5,7};
第三次比较,time = 3,index_mid = 5,mid = 5,x = mid,查找成功。

最终结果,查找次数time = 3,对应数值序号index = 5。

二、实验代码
#include <stdio.h>
#include<stdlib.h>
void shuchu(int *a,int c)
{
int i;
for(i=0;i<c;i++)
printf("%4d",a[i] );
printf("\n");
}
void half_search(int *a,int b,int c)//a是数组,b是待查找数,c是数的个数
{
int i=0,j=0,k=c-1,x,d=1;//i是查找次数,j是下界,k是上界,d是判断double e;
for(;d;)
{
if((k-j)==1)
{
i++;
if(a[j]==b)
{
printf("经过%d次查找后:%d在第%d位\n",i,b,j+1);
break;
}
if(a[k]==b)
{
printf("经过%d次查找后:%d在第%d位\n",i,b,k+1);
break;
}
i=(b-a[j]);
if(i<0)
i=-i;
d=(a[k]-b);
if(d<0)
d=-d;
if(i>d)
printf("没有找到%d找到了和他最相近的数%d在第%d位
\n",b,a[k],k+1);
if(i<d)
printf("没有找到%d找到了和他最相近的数%d在第%d位
\n",b,a[j],j+1);
break;
}
e=((j*1.0+k*1.0)/2+0.5);
//printf("%f\n",e);
x=(int)e;
//printf("x=%d,j=%d,k=%d\n",x,j,k);
if(a[x]>b)
{
k=x;
i++;
}
if(a[x]<b)
{
j=x;
i++;
}
if(a[x]==b)
{
d=0;
i++;
printf("经过%d次查找后:%d在第%d位\n",i,b,x+1 );
}
//printf("现在是第%d次搜索中间值x在第%d位 a[%d]
为%d\n",i,x+1,x,a[x]);
}
}
void paixu(int *a,int c)
{
int i,j,k;
for(i=0;i<c-1;i++)
{
for(j=0;j<c-1;j++)
{
if(a[j]>a[j+1])
{
k=a[j];
a[j]=a[j+1];
a[j+1]=k;
}
}
printf("第%2d次排序后:",i+1);
shuchu(a,c);
}
}
void zhuhanshu()
{
int a[12]={1,7,2,4,13,10,7,3,2,5,8,6},b,c=12;
/*int a[100],b,c,i;
printf("共有几个数要输入\n");
scanf("%d",&c);
for(i=0;i<c;i++)
{
printf("输入第%d个数\n",i+1);
scanf("%d",a+i);
}*/
printf("输入的数组为:");
shuchu(a,c);
paixu(a,c);
printf("需要查找的数\n");
scanf("%d",&b);
half_search(a,b,c);
}
void main()
{
int a=1;
zhuhanshu();
while(a)
{
printf("输入1继续输入0退出\n");
printf("\n");
scanf("%d",&a);
if(a==1)
zhuhanshu();
if(a==0)
break;
}
}
三、实验数据(给出实验结果)
查找的序列为 x = { 1 7 2 4 13 10 7 3 2 5 8 6},需要查找的数据为var1 = 2,var2 = 7。

1、按照实验一冒泡排序方法给出排序后的序列 x1(升序排列),
与实验一类似,给出每一趟排序的最终结果,共11个结果;2、在x1序列中,分别查找出var1和var2的位置序号index,并给
出两个数据分别的查找次数time。

四、实验总结(问题、解决方法、心得体会等)
这次实验是二分搜索,实验中遇到了好几个问题。

第一个问题来自于上次冒泡排序,为了让输入更加便捷,我是让用户去选择输入几个数然后一个个输入的,但是这次实验要经常调试,所以每次都要输入一遍很烦,在实验报告的代码中,原来的还在但是被注释掉了,为了让
调试方便,采用了直接定义的时候就把数放进去。

在这个问题后是二分搜索的实现,其实二分搜索不难,定义一个上界、下界和中值,要找的数比中值小就把上界变成中值,否则下界变成中值。

在这里首先有个问题,有同学和我讨论的时候下界变中值的时候他是下界等于中值加一,结果程序出了问题,我一开始觉得很有道理,但是因为他出错了,我们就寻找问题,那就是因为没考虑数组中如果没有要找的数那么就只能上界紧贴下界,这一句语句一下子就让上界等于下界了,虽然优化了算法但是引起了问题。

我是没有去优化这一步的,因为关于要找的数在数组不存在我已经给出了解决办法,那就是在不停的寻找中,首先就是上界减下界是不是等于1,如果出现这种情况就说明找不到要找的数,那么我就让上下界分别和要找的数相减然后取绝对值比较,最后输出比较近的值。

本以为我这样就很完美了,结果发现如果要找第一个数或者最后一个数也是找不到,问题就是如果找的数就是下界那个数,上界无限接近下界,但是下界没有和要找的数比较过,最后直接进入了寻找最接近的数这个功能,这不合理。

所以在上界减下界等于1里面的最开始我会把要找的数和上下界比较,如果有相等直接输出来并且结束,后面的就不计算了。

实验过程中还有问题就是整型数相除的结果直接就是整型数,不是全舍的,所以要想四舍五入还要引入一个double并且把整型数*1.0,这个影响查找次数,但是不影响是否能找得到,最后的算法是采用四舍五入的。

相关文档
最新文档