`
liudaoru
  • 浏览: 1564241 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

二分查找

J# 
阅读更多
		var test = [1, 4, 8, 11, 16];
		var i = 0;
		var j = test.length - 1;
		var k = 0;
		var t = 10;
		var count = 0;
		while(i <= j) {
			k = Math.floor((i + j) / 2);
			count++;
			if(test[k] < t) {
				i = k + 1;
			} else if(test[k] == t) {
				alert(count);
				break;
			} else if(test[k] > t) {
				j = k - 1;
			}
		}
		alert(count + "  " + i + "  " + j + "  " + k);
	 
	
分享到:
评论
2 楼 liudaoru 2008-11-05  
呵呵,关键是一些边界处理。。。
1 楼 Jatula 2008-11-05  
看不明白,换JAVA测试了一下;
package cn.lake.sf;

public class SplitSecond {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] test={1, 4, 8, 11, 16};
int i=0;
int j=test.length-1;
int k=0;
int t=10;
int count=0;
while(i<=j){
k=(int) Math.floor((i+j)/2);
count++;
if(test[k]<t){
System.err.println(count);
break;
}else if(test[k]>t){
j=k-1;
}
}
System.out.println(count+" "+i+" "+j+" "+k);
}

}

相关推荐

    二分查找算法

    二分查找算法 二分查找算法是一种高效的查找算法,适用于已经排好序的数组或链表中查找特定的元素。该算法的时间复杂度为O(log n),远远优于顺序查找算法的O(n)。 二分查找算法的基本思想是将数组或链表分成两个...

    折半查找(二分查找)折半查找(二分查找)折半查找(二分查找)

    "折半查找(二分查找)" 折半查找(二分查找)是一种高效的查找算法,对于顺序存储的有序表,可以快速地找到指定的关键字记录。该算法的基本思想是,每次比较给定值 K 与中间位置记录的关键字值,并根据比较结果...

    二分查找算法PPT课件

    二分查找算法,二分查找算法课件,二分查找算法PPT

    二分查找_测试

    二分查找_测试

    java二分查找实现

    Java 二分查找实现 Java 二分查找是搜索有序数组中某个元素的最常用算法之一。它的实现原理是将数组分成两个部分,然后在其中一个部分继续进行搜索,直到找到目标元素或确定目标元素不存在。下面将详细介绍 Java 二...

    查找算法集(顺序查找、二分查找、插值查找、动态查找)

    在给定的代码中,二分查找算法函数sq_Dichotomy_Search0实现了有序数组的二分查找。它的参数包括被查找数组、数组元素个数和被查找的关键值。函数返回的值是目标元素在数组中的下标,如果没有找到则返回-1。 插值...

    可视化查找之二分查找

    简单地实现了二分查找的可视化。界面很简单就包括两个部分:界面左侧是可视化查找部分,右侧是二分查找的代码。 程序的关键点主要有两点: 1. 如何在页面上表示出查找程序的运行过程。 2. 如何将排序程序的运行...

    数据结构实验六(二分查找、Hash查找)题目和源程序

    1.二分查找又称为折半查找,它要求要查找的顺序表必须是有序表,即表中结点按关键字有序.并且要用顺序存储结构。 基本思想是:首先将给定值key与表中中间位置记录的关键字相比较,若二者相等,则查找成功,否则...

    二分查找 C语言源代码

    二分查找 C语言语言源代码 用递归写的 C语言入门经典代码 值得收藏

    二分查找算法C++,递归和迭代

    //二分查找 #include const int MAXN=10010; using namespace std; //二分查找,递归实现 int binarySearch(int a[],int low,int high,int key) { //查找某元素是否在数组中,若存在,则返回下标,否则...

    二分查找源代码.cpp

    二分查找

    二分查找代码

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表...

    快速排序和二分查找

    快速排序和二分查找都是在数据处理中常用的高效算法,它们的运用可以显著提升程序的性能。快速排序尤其适用于大数据量的排序,而二分查找则适合在已排序的数据中查找特定元素。在这个Java程序中,这两个算法被巧妙地...

    二分查找 

    二分查找

    分析二分查找成功时的平均查找长度

    设计一个程序,建立由有序序列R[0..n-1]进行二分查找产生的判定树,在此基础上完成如下功能: (1) 输出n=11时的判定树并求成功情况下的平均查找长度ASl (2) 通过构造判定树可以求得的成功情况下的平均查找长度...

    VB 二分查找

    VB 二分查找 VB 二分查找 VB 二分查找

    c/c++二分查找修改版

    s[middle] 关键字小于中值 继续二分查找 并将上限改为middle BinarySearch s x low middle 1 ; else 关键字大于中值 继续二分查找 并将下限改为middle BinarySearch s x middle + 1 high ;"&gt;if high &lt; low ...

    二分查找ppt

    二分查找ppt

    数据结构实验——查找(二分查找&顺序查找)

    一、实验目的: 熟悉各种查找算法及其复杂性,能够根据实际情况选择合适的存储结构。 二、实验要求: 1、掌握查找的基本方法。 2、提交实验报告,报告...编程分别对有序顺序表的顺序查找,二分查找算法进行实现。

Global site tag (gtag.js) - Google Analytics