寫出兩種檢索演算法:在乙個排好序的陣列t
[1..n]
t[1..n]
t[1..n
]中查詢x
xx,如果x
xx在t
tt中,輸出x
xx在t
tt的下標j
jj;如果x
xx不在t
tt中,輸出j=0
j=0j=
0.按實驗模板編寫,「分析」部分僅給出複雜度結果即可。
方法一:直接遍歷查詢,乙個乙個比對t[i
]t[i]
t[i]
是否與x
xx相等,若相等則直接跳出迴圈,輸出其下標,否則輸出0
00方法二:二分查詢,利用c++stl庫函式low
er_b
ound
lower\_bound
lower_
boun
d方法一:
#include
#include
using
namespace std;
const
int n =
1e5+10;
int n, x;
int t[n]
;int
main()
}printf
("%d\n"
, j)
;return0;
}
方法二:
#include
#include
using
namespace std;
const
int n =
1e5+10;
int n, x;
int t[n]
;int
main()
方法一:
輸入部分複雜度o(n),快排複雜度o(nlogn),遍歷查詢複雜度o(n),綜合時間複雜度是o(nlogn)
方法二:
輸入部分複雜度o(n),快排複雜度o(nlogn),二分查詢複雜度o(logn),綜合時間複雜度是o(nlogn)
演算法分析與設計 作業3
寫出兩種檢索演算法 在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0 順序查詢 對於任意乙個序列以及乙個給定的元素,將給定元素與序列中元素依次比較,直到找出與給定關鍵字相同的元素,或者將序列中的元素與其都比較完為止。在本題中,我們將按順序依次查詢給...
演算法分析設計 作業3 檢索演算法
寫出兩種檢索演算法 在乙個排好序的陣列t 1 n 中查詢x,如果x在t中,輸出x在t的下標j 如果x不在t中,輸出j 0。一 順序查詢 順序查詢也稱為線性查詢,屬於無序查詢演算法,適用於儲存結構為順序結構或鏈式儲存的線性表。從資料結構線性表的一端開始,順序掃瞄,依次將掃瞄到的節點關鍵字與給定查詢的x...
系統設計與分析 作業3
簡述瀑布模型 增量模型 螺旋模型 含原型方法 並分析優缺點 瀑布模型 定義 是將工作分為需求 設計 實現 驗證 維護等等階段,這些階段動的工作物件來自於上一項活動的輸出,這些輸出一般是代表本階段活動結束的里程碑式的文件。每個階段根據本階段的活動規程執行相應的任務,並對本階段活動執 況進行評審。優點 ...