二分法python上機實驗報告 第二章上機實驗報告

2021-10-11 19:59:24 字數 1043 閱讀 4735

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,如果...