二分法查詢

2021-10-17 03:24:31 字數 1317 閱讀 8559

順序查詢是按照序列原有順序對陣列進行遍歷比較查詢的基本查詢演算法。

對於任意乙個序列以及乙個給定的元素,將給定元素與序列中元素依次比較,直到找出與給定關鍵字相同的元素,或者將序列中的元素與其都比較完為止。

public class;

stream.out.println(method(a,55));

}public int method(int a , int b)

}return -1;

}}

二分法查詢,也稱為折半法,是一種在有序陣列中查詢特定元素的搜尋演算法。

二分法查詢的思路如下:

(1)首先,從陣列的中間元素開始搜尋,如果該元素正好是目標元素,則搜尋過程結束,否則執行下一步。

(2)如果目標元素大於/小於中間元素,則在陣列大於/小於中間元素的那一半區域查詢,然後重複步驟(1)的操作。

(3)如果某一步陣列為空,則表示找不到目標元素。

迴圈1、查詢單個值

public static int mybinarysearch2(int m, int n) //向右查詢

temp = mid-1;

while (temp<=b && m[temp]==n)

return  list;

}else if (n < m[mid]) else

}return null;

}

遞迴

1、查詢單個值

//遞迴

public static int mybinarysearch3 (int m,int n,int a,int b)

int mid = (a+b)/2;

if (n == m[mid]) else if (n < m[mid]) else

}//過載

public static int mybinarysearch3 (int m,int n)

2、查詢多個值

public static listmybinarysearch5(int m, int n,int a,int b)//向右查詢

temp = mid-1;

while (temp<=b && m[temp]==n)

return  list;

}else if (n < m[mid]) else

}return null;

}public static listmybinarysearch5 (int m,int n)

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 除了對特別小的陣列外,二分法查詢表現是非常優秀的.每次對範圍加倍可以建...