演算法分析與設計作業3

2021-10-22 20:28:19 字數 1117 閱讀 9395

寫出兩種檢索演算法:在乙個排好序的陣列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

簡述瀑布模型 增量模型 螺旋模型 含原型方法 並分析優缺點 瀑布模型 定義 是將工作分為需求 設計 實現 驗證 維護等等階段,這些階段動的工作物件來自於上一項活動的輸出,這些輸出一般是代表本階段活動結束的里程碑式的文件。每個階段根據本階段的活動規程執行相應的任務,並對本階段活動執 況進行評審。優點 ...