第一問:通過最近的作業練習,了解到分治演算法的基本思想是將乙個規模為n的問題分解為k個規模較小的子問題,這些子問題相互獨立且與原問題性質相同。求出子問題的解,就可得到原問題的解。
分治法解題的一般步驟:
(1)分解,將要解決的問題劃分成若干規模較小的同類問題;
(2)求解,當子問題劃分得足夠小時,用較簡單的方法解決;
(3)合併,按原問題的要求,將子問題的解逐層合併構成原問題的解。
分治演算法實質:遞迴求解;缺點:如果子問題不獨立,需要重複求公共子問題。
第二問:結對程式設計,能提公升自己分析問題能力,同時通過兩個人的討論交流,能提高解題效率,不過有時也會出現課堂上**不ac的情況。
演算法第二章作業
分治法 就是把乙個複雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題 直到最後子問題可以簡單的直接求解,原問題的解即子問題的解的合併。分治法乙個主要思想是遞迴,遞迴的時間複雜度低。演算法的複雜度低,提高了演算法的質量。分治法在每一層遞迴上都有三個步驟 分解 將原問題分解為若干個...
演算法 第二章作業
答 二分法主要是分治法下的乙個特殊的思想方法,主要是將搜尋區域裡的元素分成個數大致相同的兩個部分後,選取中間元素進行比對,若相等則比對結束,若大若小,則分情況進行遞迴,從而使問題的普查區域變成原來總元素個數的一半.從而使得整個演算法的時間複雜度降為o logn 但是前提是,能夠將所需的問題能不斷的二...
演算法第二章作業
分治法體會 分治法所能解決的問題一般具有以下幾個特徵 1 該問題的規模縮小到一定的程度就可以容易地解決 2 該問題可以分解為若干個規模較小的相同問題,即該問題具有最優子結構性質。3 利用該問題分解出的子問題的解可以合併為該問題的解 4 該問題所分解出的各個子問題是相互獨立的,即子問題之間不包含公共的...