C语言编程二分法
发布网友
发布时间:2022-04-26 19:38
我来回答
共2个回答
热心网友
时间:2022-04-18 21:22
1、打开Python开发工具IDLE,新建‘search.py’。
2、F5运行程序,list1被正确排序,写这个的目的是说明二分法查找必须前提是一个有序的列表,如果一开始无序首先要排序,当数据量大的时候,快速排序是一个很好的选择,再进行二分法查找。
3、用递归的思想,递归就一定有结束条件。
4、if len(li)==1: #li长度等于1,只比较这个列表元素与要查找到值return li[0]==item。
5、if len(li)==0: #li长度等于0,全部查找结束还是没有这个值 return False。
6、为程序添加main方法。
7、F5运行程序,正确打印出二分法查找结果,False True。
热心网友
时间:2022-04-18 22:40
#include <math.h>
#include <stdio.h>
double fun(double x) { return 2 * x * x * x - 4 * x * x + 3 * x - 6; }
double root(double a, double b, double e)
{
double x1, x2, y1, x, y;
x1 = a; x2 = b;
do {
x = (x1 + x2)/2;
y = fun(x);
y1 = fun(x1);
if( ( y < 0 && y1 < 0) || (y > 0 && y1 > 0) )
x1 = x;
else
x2 = x;
/*end if*/
}while(fabs(y) > e);
return x;
}
int main(void)
{
double x = root(-10.0f, 10.0f, 1e-8);
printf("%f\n", x);
return 0;
}
/*
运行结果:
2.000000
*/