`

菜鸟Java大面经----------------关于二分法

阅读更多

关于二分法

package com.ahuiby.demo1;

public class BinarySearch {
	
	//二分法
	public static int binarySearch(int arr[],int key){
		int begin=0;
		int end =arr.length-1;
		
		while(begin<=end){
			if(arr[(begin+end)/2]<key){
				begin=(begin+end)/2+1;
			}else if(arr[(begin+end)/2]==key){
				return (begin+end)/2;
			}else{
				end=(begin+end)/2-1;
			}
		}
		
		return -1;
	}

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] arr={1,2,3,4,5,6,7,8,9,10};
		int flag=binarySearch(arr,7);
		
		if(flag==-1){
			System.out.println("列表中无此数!");
		}else{
			System.out.println("该数在数组中的下标为:"+flag);
		}
	}

}

 

分享到:
评论

相关推荐

    计算方法上机-二分法-C++

    在这个"计算方法上机-二分法-C++"的项目中,我们看到一个名为"二分法.cpp"的源代码文件,这暗示着它是一个C++程序,用于实现二分法。C++是一种强大的、面向对象的编程语言,适合编写高效的算法程序。 首先,二分法...

    数值分析------二分法的C语言程序

    标题与描述概述的知识点主要集中在“数值分析中的二分法”以及如何用C语言实现这一算法上。在数值分析领域,二分法是一种用于求解非线性方程根的有效方法,尤其适用于初等函数(如多项式)的根查找。下面将详细探讨...

    java 求解非线性方程 二分法牛顿法弦截法

    java 求解非线性方程 二分法 牛顿法 弦截法 public class Binary { static double m, n, jingdu; static int flag = 0; /** * @param args * 二分法 */ public static double binary(double m, double ...

    计算方法--二分法查找实验报告

    二分查找在计算机科学与技术领域具有广泛的应用,尤其是在大数据处理和搜索引擎优化中。 **一、实验目的** 二分查找实验的主要目的是让学生通过实践理解并掌握分治算法,特别是二分查找算法的工作原理。通过编写和...

    算法-分治- 二分法(包含源程序).rar

    **二分法(Binary Search)**,又称为折半搜索或二分查找,是一种在有序数组中查找特定元素的搜索算法。它的基本思想是利用分治策略,将问题规模不断减半,直到找到目标值或者确定目标不存在。二分法在计算机科学中...

    1-matlab-二分法求解非线性方程的近似解.pdf

    标题提到的"1-matlab-二分法求解非线性方程的近似解.pdf"是一个关于如何使用MATLAB实现二分法求解非线性方程的教程。下面将详细介绍二分法的基本原理和上述M-文件中的具体实现。 1. **二分法基本原理**: - 非线性...

    李睿--二分法与统计问题1

    【二分法与统计问题】是关于高效解决大数据量统计问题的一种算法思想,结合特定的数据结构,如线段树和二叉排序树,以达到快速处理的目的。在信息技术领域,处理大规模数据时,传统的简单算法往往效率低下,因此需要...

    算法竞赛专题解析--二分法三分法1

    **算法竞赛专题解析--二分法、三分法** 在算法竞赛中,二分法和三分法是解决问题的重要工具,尤其适用于解决那些可以通过连续查询来缩小答案范围的问题。这两种方法主要应用于数值计算、搜索最值、区间查找等场景。...

    数值分析作业3-二分法求解非线性方程组(含题目以及matlab求解代码).pdf

    "二分法求解非线性方程组" 二分法是数值分析中的一种常用方法,用于求解非线性方程组。该方法的基本思想是将非线性方程转换为线性方程,然后通过迭代方法来求解。下面是使用 Matlab 实现二分法求解非线性方程组的...

    java二分法源码-algo_avance_SI3:学校项目

    java二分法源码algo_avance_SI3 ESGI的学校项目 会员 格雷戈尔·贾里 加里·让-巴蒂斯特 阿莫里·德·格雷林 弗洛里安·布罗萨德 java中静态实现quickSort、InsertionSort和二分法搜索 源代码在 /src 可运行的 jar ...

    数值计算-二分法

    二分法,又称折半搜索法,是一种在计算机科学和数学中广泛使用的数值计算方法,特别是在寻找实数解、查找有序数组中的特定元素或者优化问题的迭代过程中。它基于一个核心概念:连续函数在其定义域内若存在唯一零点,...

    java二分法源码-leetcode:leetcode

    java二分法源码LeetCode-Solution-Well-Formed 项目重命名说明 重命名为“Well-Formed”的意思是“格式良好”。 我一直认为代码的可读性很重要。 可读代码的前提是“格式良好”。 在Intellij Idea、PyCharm和CLion中...

    java二分法源码-minijava-cpp:用C++编写的MiniJava编译器,专注于编译速度、简单性和(有点)漂亮的错误消息

    java二分法源码C++ 中的 MiniJava 编译器(从头开始) 从 MiniJava() 到用(简单)C++ 编写的编译器。 据我所知,这是最快的 Minijava(到 LLVM IR)编译器。 描述 目前,编译器处于早期开发阶段。 在撰写本文时,...

    java二分法源码-Clean-Code-Notes:我的CleanCode笔记

    java二分法源码干净的代码注释 目录 第 1 章 - 干净的代码 这本书是关于好的编程。 它是关于如何编写好的代码,以及如何将坏代码转化为好的代码。 代码代表了需求的细节,细节不能被忽略或抽象。 我们可能会创建更...

    1-matlab-二分法求解非线性方程的近似解.docx

    二分法,也称为折半法或区间 halving 方法,是一种经典的数值方法,常用于求解非线性方程的近似解。这种方法基于连续函数的介值定理,即在一个连续函数的单变区间内,如果函数在区间两端取不同符号的值,那么至少...

    java二分法源码-football-events:带有KafkaStreams的事件驱动微服务

    java二分法源码带有 Kafka Streams 的事件驱动微服务 如何与事件驱动的微服务一起使用的骨架示例。 这是一个应用程序,可以生成简单的足球统计数据,如比赛比分、球队和球员排名。 它应该比基于订单、付款等的典型...

    二分法 文件写入读出

    在Java编程语言中,二分法是一种高效的搜索技术,它基于分治策略,适用于已排序的数据集合。在处理大量数据时,二分法通常比线性搜索更快,因为它将问题分解为更小的部分来解决。这里我们将探讨如何利用二分法进行...

    -matlab-二分法求解非线性方程的近似解.pdf

    二分法,也称为折半法,是一种数值分析方法,常用于寻找非线性方程的根,即求解方程 \( f(x) = 0 \) 的解。在MATLAB环境中,我们可以编写M-文件来实现二分法求解非线性方程的近似解。下面详细解释这种方法及其在...

    java二分法源码-my-knowledge-base:“我的知识库”是我个人使用过和-或在我的整个职业生涯中看到的好消息的有机汇编列表,我可

    java二分法源码1Password(又名onePassword,op,...) 用于存储和检索密码和其他机密的基于云的工具。 甚至还有一个命令行客户端可用。 敏捷 很短,但仍然涉及围绕所需组织对敏捷的支持的最重要的观点。 ,本·...

    java二分法源码-jstf:Java静态翻译框架(JSTF)

    java二分法源码Java 静态翻译框架 (JSTF) 这是 0.0.1 版本:它仍在进行中。 如果您有兴趣,请与我联系。 框架的目标 JSTF 最初是作为一个非常轻量级但完整的工具创建的,用于翻译 libGdx 多平台应用程序(Android 是...

Global site tag (gtag.js) - Google Analytics