演算法第二章作業

2022-08-20 23:30:12 字數 556 閱讀 3991

1.請談一下你對分治法思想的體會

基本思想:將乙個規模為n的問題分解為k個規模較小的子問題,這些子問題互相獨立且與原問題相同。通過遞迴解決子問題,最後再將子問題的解合併得到原問題的解。

當我們求解某些問題時,由於這些問題要處理的資料相當多,或求解過程相當複雜,使得直接求解法在時間上相當長,或者根本無法直接求出。對於這類問題,我們往往先把它分解成幾個子問題,找到求出這幾個子問題的解法後,再找到合適的方法,把它們組合成求整個問題的解法。如果這些子問題還較大,難以解決,可以再把它們分成幾個更小的子問題,以此類推,直至可以直接求出解為止。這樣的做法可以使問題簡單化以及程式的時間複雜度降低,解決問題的效率也就提高。在實踐中,遞迴與分治相結合的演算法確實能比較高效的解決問題,如歸併排序。

2.結對程式設計情況匯報

我認為結對程式設計是一種非常好的學習方法。一方面,乙個同學可以提高打**的能力,另乙個同學可以提公升看**、分析**的能力;其次,通過學習別人的**,可以開拓自己的思路、看待問題的角度,從而提公升自己的演算法水平;最後,通過結對的方式,不僅讓兩位同學能夠互相交流想法,互相糾錯,還能讓我們提前擁有與他人合作交流的經驗。真的是一種非常好的學習方法!

演算法第二章作業

分治法 就是把乙個複雜的問題分成兩個或更多的相同或相似的子問題,再把子問題分成更小的子問題 直到最後子問題可以簡單的直接求解,原問題的解即子問題的解的合併。分治法乙個主要思想是遞迴,遞迴的時間複雜度低。演算法的複雜度低,提高了演算法的質量。分治法在每一層遞迴上都有三個步驟 分解 將原問題分解為若干個...

演算法 第二章作業

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

演算法第二章作業

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