`
Enria
  • 浏览: 11739 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

BinarySearch

阅读更多
package BinarySearch;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;


public class BinarySearch {
	public static void main(String[] args) {
		Scanner scanner = null;
		try {
			scanner = new Scanner(new File("./binarysearch.txt"));  
		} catch (FileNotFoundException e) {
			e.printStackTrace();
		}
		String[] inputString = scanner.next().split(",");
		int element = Integer.parseInt(scanner.next());
		  //默认以空格为分隔符
		int array[] = new int[inputString.length];
		for(int i=0;i<inputString.length;i++){
			array[i] = Integer.parseInt(inputString[i]);
		}
		int flag = binarySearch(array,element);
		//System.out.println("flag:"+flag);
		if(flag != 0){
			System.out.println("Find it : array["+flag+"]");
		}
		if(flag == 0){
			System.out.println("Can not find it");
		}
	}
	
	private static int binarySearch(int array[], int x){
		int low = 1; 
		int high = array.length;
		int middle = (low + high)/2;
		while(low<=high){
			if(x == array[middle]){
				return middle;
			}
			else if(x<array[middle]){
				high = middle -1;
				middle = (low + high)/2;
			}
			else if(x>array[middle]){
				low = middle + 1;
				middle = (low + high)/2;
			}
		}
		return 0;	
	}

} 

 

0
1
分享到:
评论

相关推荐

    折半查找 binarySearch

    A binary search algorithm (or binary chop) is a technique for finding a particular value in a sorted list. It makes progressively better guesses, and closes in on the sought value, by comparing an ...

    你清楚Arrays.binarySearch()方法的返回值吗?

    在Java编程语言中,`Arrays`类是Java.util包下的一个非常重要的工具类,它提供了大量用于操作数组的静态方法,其中包括我们今天要讨论的`binarySearch()`方法。`Arrays.binarySearch()`方法允许我们在有序数组中查找...

    matlab开发-BinarySearch

    这个"matlab开发-BinarySearch"项目提供了一个名为`bsearch.m`的MATLAB函数,用于在向量中执行二进制查找操作。下面我们将深入探讨二进制搜索的原理、MATLAB实现以及它在数据分析和机器学习中的应用。 二进制搜索的...

    Optimal Binary Search Tree

    ### 最优二叉查找树(Optimal Binary Search Tree) #### 概述 最优二叉查找树(Optimal Binary Search Tree, OBST)是计算机科学领域内一种高效的搜索数据结构,其设计目标是在已知各节点访问概率的情况下,构建...

    matlab开发-Binarysearch

    本项目“matlab开发-Binarysearch”显然聚焦于如何在MATLAB中实现二进制搜索算法。该算法利用分治思想,通过不断缩小搜索范围来定位目标元素,时间复杂度为O(log n),在大数据量的处理中具有显著优势。 `bsearch.m`...

    Search in a Binary Search Tree.zip

    二叉搜索树(Binary Search Tree,BST)是一种特殊类型的二叉树,它的每个节点都包含一个键(key)、一个关联的值、一个指向左子树的引用和一个指向右子树的引用。在二叉搜索树中,对于任意节点,其左子树中的所有...

    BinarySearch_C++_算法_折半查找_

    在这个“BinarySearch_C++_算法_折半查找_”的项目中,我们将会探讨如何使用C++实现这个算法。 首先,我们要明白二分查找的基本思想。假设我们有一个已排序的数组,我们需要查找一个特定值。我们从数组的中间开始...

    Multidimensional Binary Search Trees Used for Associative Searching

    1975年,来自斯坦福大学的Jon Louis Bentley在ACM杂志上发表的一篇论文:Multidimensional Binary Search Trees Used for Associative Searching 中正式提出和阐述的了把空间划分为多个部分的k-d树。

    二叉搜索树(Binary Search Tree,BST)的实现与操作.docx

    二叉搜索树(Binary Search Tree,BST)的实现与操作.docx 二叉搜索树(Binary Search Tree,BST)的实现与操作.docx 二叉搜索树(Binary Search Tree,BST)的实现与操作.docx 二叉搜索树(Binary Search Tree,BST...

    Java.binarySearch.docx

    在Java编程语言中,`binarySearch()`方法是`java.util.Arrays`类的一个静态方法,它采用二分查找算法来高效地在有序数组中查找指定的元素。二分查找是一种在有序数据集合中寻找目标值的算法,其效率远高于线性搜索。...

    Binary_Search_Data.rar_binary_binary search

    - 在`binarySearch`函数中实现上述的二分搜索逻辑,包括计算中间索引、比较元素和更新边界。 总的来说,二分搜索是计算机科学中一种重要的搜索算法,尤其适用于处理大量有序数据。在C语言中实现二分搜索,可以显著...

    Binary Search Tree

    Binary Search Tree 利用C++實現 Binary Search Tree

    二分查找 Binary Search(C++)

    int binarySearch(int arr[], int left, int right, int target) { while (left ) { int mid = left + (right - left) / 2; // 计算中间索引,避免整型溢出 if (arr[mid] == target) { // 如果中间元素就是目标...

    optimal binary search tree

    最小成本二分检索树optimal binary optimal binary

    BinarySearch.java

    实现折半查找的程序 希望大家功能学习,共同进步

    binary search tree.rar_Binary_Search_Tree_tree

    二叉搜索树(Binary Search Tree,简称BST)是一种在计算机科学中广泛应用的数据结构,它具有以下特性:每个节点包含一个键(key)、一个关联的值、一个指向左子树的引用以及一个指向右子树的引用。在二叉搜索树中,...

    bstTreeExample_java_binarysearch_

    在这个例子中,"bstTreeExample_java_binarysearch_" 提供了一个Java实现的二叉搜索树编码器的样本代码,帮助我们理解如何在实际编程中运用这种数据结构。 首先,`BSTlex.java` 文件是源代码,它包含了二叉搜索树的...

Global site tag (gtag.js) - Google Analytics