`

java模拟二分法

阅读更多
package test;

public class SplitBy2 {
	static int num = 12;
	static int[] arr = { 1, 3, 7, 11, 12, 17, 23, 25, 27 };
	static int start, end, index;

	public static void main(String[] args) {
		System.out.println(splitBy2(arr, num));
	}

	public static int splitBy2(int arr[], int num) {
		start = 0;
		end = arr.length - 1;//8
		while (true) {
			index = (start + end) / 2;
			if (arr[index] == num) {
				return index;
			} else if (start > end) {
				System.out.println("没有找到");
				return -1;
			} else {
				if (arr[index] > num) {
					end = index - 1;
				}
				if (arr[index] < num) {
					start = index + 1;
				}
			}
		}
	}
}
分享到:
评论

相关推荐

    Java 常用数值算法集

    4. **根查找算法**:寻找函数的零点,如二分法、牛顿-拉弗森法等。这些方法在解决方程求解问题时非常有用,Java可以通过迭代实现。 5. **优化算法**:如梯度下降法、牛顿法、遗传算法等,用于找到函数的最小值或...

    java数值计算算法示例程序

    此外,示例程序可能还涉及了一些高级主题,如非线性方程的求解(如牛顿迭代法、二分法)、最优化问题的解决(如梯度下降法、模拟退火算法)。这些算法广泛应用于机器学习、数据分析等领域。 总的来说,通过学习和...

    基本算法模拟程序java

    button_exp1=new JButton("二分法"); button_exp1.setFont(new Font("黑体",Font.BOLD,30)); button_exp1.addActionListener(this); button_exp2=new JButton("归并分类"); button_exp2.setFont(new Font("黑体...

    科学与工程数值算法(Java版)

    6. **随机数生成与统计**:在模拟实验和统计分析中,Java提供了各种随机数生成器,如Mersenne Twister,以及基本的统计方法,如回归分析和假设检验。 7. **解常微分方程**:Euler方法、龙格-库塔方法等被用来求解...

    java 常用的数值算法例子

    4. **根查找**:寻找方程f(x) = 0的根,如二分法、牛顿迭代法和Secant方法。Java中的`RootFinder`接口及其实现类可用于这类问题。 5. **优化问题**:最优化问题是数值分析的重要部分,包括无约束和有约束的优化。...

    java常用数值算法

    7. **随机数生成**:在模拟和统计分析中,随机数生成器如Mersenne Twister或Java自带的`java.util.Random`类是必不可少的。 8. **排序和搜索算法**:虽然不是数值算法的典型部分,但快速排序、归并排序、二分查找等...

    java数值方法

    Java中可以使用牛顿法、二分法或者更高级的迭代方法如Bisection、Regula Falsi、 secant method等。这些方法在处理非线性方程时尤其有用。 5. **数值积分**:Java数值方法也包括了数值积分,如梯形法则、辛普森法则...

    Java常用数值算法集光盘资源

    5. **随机数生成**:在模拟和统计分析中,随机数的生成是必不可少的。Java的`java.util.Random`类提供了一些基本功能,但更高级的应用可能需要使用如Mersenne Twister算法的库。 6. **插值与拟合**:线性插值、...

    Java常用数值算法集.rar

    6. **数值解方程**:例如二分法和牛顿迭代法用于求解单变量方程,而多维方程组可以借助迭代方法如固定点迭代和雅可比迭代来解决。 7. **傅里叶变换**:快速傅里叶变换(FFT)在信号处理、图像分析等领域有着广泛应用...

    Java面试指南2016

    它通过具体的技术知识点串联,模拟面试官的提问方式,引导求职者在面试过程中应该如何系统地思考问题,并用准确的技术术语表达自己的理解,从而在面试中脱颖而出。对于求职者来说,该书能够帮助他们系统地复习和掌握...

    java 常用数值算法集a

    Java中的ode求解器,如Runge-Kutta方法,可以用于模拟物理系统、生物系统或其他动态过程。 4. **最优化算法**:包括线性和非线性规划、梯度下降法、牛顿法、遗传算法等,用于找到函数的极值点。Java中,如 Commons ...

    各种排序算法java实现

    在Java中,可以使用数组来模拟堆,通过构建和调整堆来实现排序。堆排序的时间复杂度为O(n log n),空间复杂度为O(1)。 2. **快速排序**(Quick Sort): 快速排序是基于分治策略的高效排序算法,由C.A.R. Hoare...

    JAVA视频教程.pdf

    最后,讲解了多维数组的处理,数组的拷贝、排序算法(如二分法),以及常用类如包装类Integer、Number的JDK源码分析,日期处理类Date,以及自动装箱和拆箱机制。 这个300集的Java视频教程系统全面地覆盖了Java编程...

    java版计算方法实验

    方程求根通常使用牛顿-拉弗森迭代法、二分法或者拟牛顿法等算法。Java中实现这些方法时,需要定义一个函数表示目标方程,并设定初始猜测值。牛顿法通过不断迭代逼近零点,而二分法则适用于已知方程在某一区间内有根...

    全国计算机二级java习题集

    ### 全国计算机二级Java习题集知识点解析 #### 一、二分法查找适用条件 **题目描述:** 在给定的四个选项中选择一个适用于二分法查找的数据结构。 **答案解析:** 二分法查找是一种高效的查找算法,但它的应用条件...

    You think I know

    在`CardTest.java`这个文件中,很可能是定义了一个类或者函数来模拟这个过程。可能包含一个主循环,用于接收用户输入并根据某种策略(如二分法)进行猜测。程序可能会有以下结构: ```java public class CardTest {...

    蓝桥杯真题解析,教师培训

    该比赛覆盖了从初中到大学的不同阶段,涵盖C/C++、Java、Python等多个编程语言。教师培训资料是蓝桥杯竞赛的重要组成部分,为参赛者和指导教师提供了丰富的学习资源和教学指导。 1. **搜索与动态规划** 搜索算法...

Global site tag (gtag.js) - Google Analytics