1.實踐題目:輸入n值(1<=n<=1000)、n個非降序排列的整數以及要查詢的數x,使用二分查詢演算法查詢x,輸出x所在的下標(0~n-1)及比較次數。若x不存在,輸出-1和比較次數。
提交的**:
#include
using namespace std;
int search (int a,int n, int x,int &t)
int l = 0;
int r = n - 1;
while (l <= r) else
return -1;
int main()
int n;
int a[1000];
int x,t = 0;
cin >> n;
for (int i = 0; i < n; i++)
i = right;
j = left;
cout << i<
return -1;
int main() {
int n;
int x;
cin >> n>> x;
int *a = new int [n];
for (int i = 0; i < n; i++)
cin >> a[i];
bin(a, x, n);
system("pause");
第三題課上並沒有來得及看,課後和partner一起打的時候大概理清了思路
如果兩段序列的中位數,都是相等的話,那麼中位數即為該數。
如果當第一段的中位數大於第二段的時候,那麼兩端合中位數一定在第一段中位數前或第二段中位數後,這時只取這兩部分,再繼續進行二分比較
如果當第一段的中位數小於第二段的時候,那麼兩端合中位數一定在第一段中位數後面或第二段中位數前面,這時只取這兩部分,再繼續進行二分比較
最後總結一下對二分法的看法
二分搜尋看起來思路挺簡單的,但是在執行過程中,總會有一些細節上的小錯誤,在這次的實驗過程種也感受到了:
1 邊界點的等號是否取到,中間點的位置是否可取
2 二分的物件該如何妥當處理
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 ...
二分法解題報告
題目 派 描述 我的生日要到了!根據習俗,我需要將一些派分給大家。我有 n個不同口味 不同大小的派。有 f個朋友會來參加我的派對,每個人會拿到一塊派 必須乙個派的一塊,不能由幾個派的小塊拼成 可以是一整個派 我的朋友們都特別小氣,如果有人拿到更大的一塊,就會開始抱怨。因此所有人拿到的派是同樣大小的 ...
二分查詢法實驗報告
實驗報告 課程名稱 演算法分析與設計 實驗日期 2020 年 3 月 10日 至 2020年 3 月 17 日 學生姓名 戴昊宇 所在班級 計算機184 學號 2018212212015 實驗名稱 檢索演算法 二分查詢法 實驗地點 同組人員 無 1.問題 在乙個排好序的陣列t 1 n 中查詢x,如果...