演算法第二章作業

2022-04-29 04:18:30 字數 425 閱讀 2858

分治法:就是把乙個複雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題……直到最後子問題可以簡單的直接求解,原問題的解即子問題的解的合併。

分治法乙個主要思想是遞迴,遞迴的時間複雜度低。演算法的複雜度低,提高了演算法的質量。

分治法在每一層遞迴上都有三個步驟:

分解:將原問題分解為若干個規模較小,相互獨立,與原問題形式相同的子問題;

解決:若子問題規模較小而容易被解決則直接解,否則遞迴地解各個子問題;

合併:將各個子問題的解合併為原問題的解。

所以其函式名通常為:divide-and-conquer

這兩次的上機課影響最深的就是那個快排,直接先寫什麼情況停止遞迴返回,然後遞迴右邊,遞迴左邊。就這麼簡單。但是這這乙個思路卻深深地印在我的腦海中。

第一次是我寫**,陳嘉健解釋。第二次陳嘉健寫**我解釋。

演算法 第二章作業

答 二分法主要是分治法下的乙個特殊的思想方法,主要是將搜尋區域裡的元素分成個數大致相同的兩個部分後,選取中間元素進行比對,若相等則比對結束,若大若小,則分情況進行遞迴,從而使問題的普查區域變成原來總元素個數的一半.從而使得整個演算法的時間複雜度降為o logn 但是前提是,能夠將所需的問題能不斷的二...

演算法第二章作業

分治法體會 分治法所能解決的問題一般具有以下幾個特徵 1 該問題的規模縮小到一定的程度就可以容易地解決 2 該問題可以分解為若干個規模較小的相同問題,即該問題具有最優子結構性質。3 利用該問題分解出的子問題的解可以合併為該問題的解 4 該問題所分解出的各個子問題是相互獨立的,即子問題之間不包含公共的...

演算法第二章作業

1.對分治法的理解與看法 分治法的基本思想是將乙個規模為n的問題分解為k個規模較小的子問題,這些子問題互相獨立且原問題相同。遞迴地解決這些子問題,然後將各個子問題的解合併得到原問題的解。分治法解決問題一般會用到遞迴的方法,在計算效率時,可以用遞迴方程來分析。在分析問題時,要準確的分析母問題與子問題的...