ACM 學習總結報告(十)

2021-09-18 03:20:24 字數 501 閱讀 1808

遞迴演算法的含義

程式直接或間接呼叫自身的程式設計技巧稱為遞迴演算法。直接或間接呼叫自身的函式稱為遞迴函式。

它通常把乙個大型複雜的問題層層轉化為乙個與原問題相似的規模較小的問題來求解。

遞迴的基本思想

問題分解:

把乙個不能或不好解決的大問題轉化為乙個或幾個小問題,再把這些小問題進一步分解成更小的小問題,最小問題可以直接解決。

遞迴的關鍵在於找出遞迴定義和遞迴終止條件。遞迴定義:使問題向邊界條件轉化的規則。遞迴定義必須能使問題越來越簡單。遞迴終止條件:也就是所描述問題的最簡單情況,它本身不再使用遞迴的定義。

遞迴演算法解題的三個步驟

1.分析問題、尋找遞迴:找出大規模問題與小規模問題的關係,這樣通過遞迴使問題的規模逐漸變小。

2.設定邊界、控制遞迴:找出停止條件,即演算法可解的最小規模問題。

3.設計函式、確定引數:設計函式體中的操作及相關引數。

ACM 學習總結報告(三)

因為還沒有學習新的知識,所以這次先不進行知識點總結了,於是想寫一些隨筆來談談這段時間做題的感悟體會吧。一 貪心演算法例題分析 做了幾個貪心演算法的題後發現這些題都大同小異,基本上都是先定義乙個結構體,把所包括的元素都放進去。然後定義乙個排序函式,根據題目要求進行排序,最後再在主函式中貪心。做的多了不...

ACM 學習總結報告(五)

一 動態規劃和貪心演算法都是一種遞推演算法,均有區域性最優解來推導全域性最優解 二 貪心最經典的例子是找錢問題,某國錢幣包含1 3 4元,如果要找6元,如何找錢會找的最少?貪心的思想是每次都拿最大的,先拿4元,再拿乙個1元,再拿乙個1元,一共是三張。每次都拿最大的就是貪心,但實際上,只需要兩張三元是...

ACM 學習總結報告(十三)

簡單定義 在乙個單調有序的集合中查詢元素,每次將集合分為左右兩部分,判斷解在哪個部分中並調整集合上下界,重複直到找到目標元素。時間複雜度 o logn 優於直接順序查詢o n 查詢連續函式的寫法 x 待查詢的值,caculate 所要查詢的函式,在這裡單調遞增 需保證查詢的值在區間範圍內 doubl...