資料表結構試驗7順序查詢和二分查詢

2021-09-23 07:37:29 字數 1213 閱讀 5016

順序查詢:

#include#include#include#include#define maxn 105

using namespace std;

int a[maxn];

int n;

int x;

int ans;

int seqsearch(int r,int n,int k)

int main()

二分查詢遞迴和非遞迴:

#include#include#include#include#include#define maxn 105

using namespace std;

int a[maxn];

int n;

int x;

int ans;

int binsearch(int r,int n,int k)

else

return mid;

} return 0;

}int binsearch2(int r,int low,int high,int k)

else

return mid;}}

int main()

*模擬統計查詢長度, 隨機產生100,200,500,1000,2000等若干個隨機整數,在(3)中定義的有序表中查詢這些值,統計查詢成功和查詢不成功的平均查詢長度。 

#include#include#include#include#include#define maxn 105

using namespace std;

int a[maxn];

int n;

int x;

int ans;

int binsearch(int r,int n,int k)

else

return mid;

} return 0;

}int binsearch2(int r,int low,int high,int k)

else

return mid;}}

int main()

printf("查詢成功平均查詢長度%lf 查詢失敗平均查詢長度%lf\n",(double)ans2/10.0,(double)ans1/10.0);

return 0;

}

順序查詢和二分查詢

二分查詢 陣列裡查詢某個元素 search函式 其中 array為陣列,k為要找的值,low為查詢範圍的最小鍵值,high為查詢範圍的最大鍵值 function search array,k,low 0,high 0 if low high 如果還存在剩餘的陣列元素 elseif k array m...

順序查詢和二分查詢

1 順序查詢 又稱線性查詢,是從陣列的第乙個元素開始查詢,直到找到待查詢元素的位置。順序查詢適合於儲存結構為順序儲存或鏈結儲存的線性表。使用for迴圈等實現。int find int a,int x return index 2 二分查詢 二分查詢又稱折半查詢,優點是比較次數少,查詢速度快,平均效能...

順序查詢和二分查詢

問題 寫出兩種檢索演算法 在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0.解析順序查詢 在乙個線性表中,按照從前往後或者從後往前的順序依次查詢,如果查詢到關鍵字和給定值相等,則返回給定值的位置,查詢成功 如果查詢值最後乙個元素仍未找到,則查詢失敗...