討論1 5 分析「二分法」

2021-09-19 07:18:03 字數 955 閱讀 1603

目錄

1.題目

2.分析過程

3.源**

4.執行結果

查詢演算法中的「二分法」是這樣定義的:

給定n個從小到大排好序的整數序列list,以及某待查詢整數x,我們的目標是找到x在list中的下標。即若有list[i]=x,則返回i;否則返回-1表示沒有找到。

二分法是先找到序列的中點list[m],與x進行比較,若相等則返回中點下標;否則,若list[m]>x,則在左邊的子系列中查詢x;若list[m]試寫出演算法的偽碼描述,並分析最壞、最好情況下的時間、空間複雜度。

cout << "請輸入要查詢的數字x\n";

cin >> x;

int n = sizeof(a) / sizeof(a[0]);

int index = binarysearch(a, x, n);

if (index != -1)

cout << "下標為:" << index << endl;

else

cout << "沒有找到" << x << "的值" << endl;

分析 二分法

來自 mooc 浙江大學 資料結構 給定n個從小到大排好序的整數序列list,以及某待查詢整數x,我們的目標是找到x在list中的下標。即若有list i x,則返回i 否則返回 1表示沒有找到。二分法是先找到序列的中點list m 與x進行比較,若相等則返回中點下標 否則,若list m x,則在...

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 ...