二分法查詢

2021-09-24 15:04:36 字數 1009 閱讀 1943

@component

public class sort else if (number[mid] > des) else

}return -1;

}

/**

* 測試

* @param args

*/public static void main(string args) ;

int des = 2;

int result = search(number, des);

if (result == -1) else 已找到:{}", "shenke", result);

}}}

演算法:當資料量很大適宜採用該方法。採用二分法查詢時,資料需是有序不重複的。 基本思想:假設資料是按公升序排序的,對於給定值 x,從序列的中間位置開始比較,如果當前位置值等於 x,則查詢成功;若 x 小於當前位置值,則在數列的前半段中查詢;若 x 大於當前位置值則在數列的後半段中繼續查詢,直到找到為止。

假設有乙個陣列 ,現要求採用二分法找出指定的數值並將其在陣列的索引返回,如果沒有找到則返回 -1。**如下:

package cn.sunzn.dichotomy;

public class dichotomysearch ;

system.out.println(search(arr, 12));

system.out.println(search(arr, 45));

system.out.println(search(arr, 67));

system.out.println(search(arr, 89));

system.out.println(search(arr, 99));

}public static int search(int arr, int key) else if (key > arr[middle]) else

}return -1;

}}

C 二分法查詢,遞迴二分法

用二分法來求需要查詢的值.includeusing namespace std 查詢key元素是否存在 int findkey const int buf 100 const int ilen,const int key else right left mid 1 查詢失敗 return 1 查詢k...

python二分法查詢 Python 二分法查詢

二分法查詢主要的作用就是查詢元素 lst 1,3,5,7,12,36,68,79 資料集 百萬級資料 num int input 請輸入你要查詢的元素資訊 for el in lst if num el print 存在 break else print 不存在 len lst 0 1 2 3 4 ...

二分法查詢

前幾天csdn上說只有10 程式設計師能寫出正確的二分法查詢 so.我在看過二分法查詢方法後寫了乙個 一次測試成功.範圍 需要次數 10 4 100 7 1000 10 10000 14 100000 17 1000000 20 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...