實驗三 總結部落格

2022-03-29 01:54:50 字數 1078 閱讀 2371

參考 在searching中補充查詢演算法並測試

提交執行結果截圖

斐波那契查詢
public static comparable fibonaccisearch(comparable data, comparable target) 

comparable fibdata = new comparable[fib[idex]];

;for (int i = 0;i0)

else if (fibdata[mid].compareto(target)<0)

else

}return -1;

}//構造fibonacci數列

public static int setfibonacci()

return fib;

}

插值查詢
二分查詢中查詢點計算如下:

mid=(low+high)/2, 即mid=low+1/2(high-low);

通過模擬,我們可以將查詢的點改進為如下:

mid=low+(key-a[low])/(a[high]-a[low])(high-low),

也就是將上述的比例引數1/2改進為自適應的,根據關鍵字在整個有序表中所處的位置,讓mid值的變化更靠近關鍵字key,這樣也就間接地減少了比較次數。

public static comparable insertionsearch(comparable data, comparable target, int key, int low, int hight)  else  else if (data[mid].compareto(target) > 0)

hight = mid - 1;

else

low = mid + 1;

}return result;

}}

堆排序

public static void heapsort(comparable data)

for (int i=0;i}

軟體構造實驗三總結

軟體構造實驗三總結 這次就乙個目標實現乙個adt。本次實驗給定了五個具體應用 高鐵車次管理 航班管理 作業系統程序管 理 大學課表管理 學習活動日程管理 學生不是直接針對五個應用分別程式設計 實現,而是通過 adt 和泛型等抽象技術,開發一套可復用的 adt 及其實現,充 分考慮這些應用之間的相似性...

練習三總結

一.動態規劃,它是解決 多過程問題的一種方法,它包括兩種思想 區域性原則和區域性最優原則 即把乙個問題通過狀態轉移方程 通常是遞迴 劃分成多個子問題,然後再按步驟尋找區域性最優解,這樣按步驟得到最優解。技巧 通過做這幾道題來看,有的題目完全就是可以通過dp,遞迴等別的方法來解決,動態規劃的優點是用乙...

專題三總結

這個專題講的是動態規劃的內容,到現在為止,已經做了3 個專題了,我個人認為,動態規劃這個專題還是挺好做的,沒有剛開始老師說的的那麼難。先來點理論知識吧。所謂動態規劃,它是解決多階段決策問題的一種方法。動態規劃的指導思想就是在做每一步決策時,列出各種可能的區域性解,依據某種判定條件,捨棄那些肯定不能得...