對於乙個規模為n的問題,若該問題可以容易地解決(比如說規模n較小)則直接解決;否則將其分解為k個規模較小的子問題,這些子問題互相獨立且與原問題形式相同,遞迴地解這些子問題,然後將各子問題的解合併得到原問題的解。遞迴,就是在執行的過程中呼叫自己該問題的規模縮小到一定的程度就可以容易地解決
該問題可以分解為若干個規模較小的相同問題
利用該問題分解出的子問題的解可以合併為該問題的解
該問題所分解出的各個子問題是相互獨立的
int f(intn)
1function binary_search(l,a,b,x)
11 }
回溯法是一種選優搜尋法,按選優條件向前搜尋,以達到目標。但當搜尋到某一步時,發現原先選擇並不優或達不到目標,就退回一步重新選擇。這種走不通就退回再走的技術就是回溯法。
總是做出在當前來說是最好的選擇,而並不從整體上加以考慮,它所做的每步選擇只是當前步驟的區域性最優選擇,但從整體來說不一定是最優的選擇。由於它不必為了尋找最優解而窮盡所有可能解,因此其耗費時間少,一般可以快速得到滿意的解,但得不到最優解。
在求解問題中,對於每一步決策,列出各種可能的區域性解,再依據某種判定條件,捨棄那些肯定不能得到最優解的區域性解,在每步都經過篩選,以每一步都是最優解來保證全域性是最優解。
(1)j=0(2)b[j]=b[j]+s[i]
(3)min=temp
(4)b[m]=b[m]+s[i]
更多軟考自查在我的「隨筆」中檢視!!!
軟考(二) 資料結構與演算法
下面總結下資料結構這部分的知識點 資料結構和演算法是程式設計最重要的兩個內容。簡單的說,資料結構是資料的組織,儲存和運算的總和。它是資訊的一種組織方式,是以資料按某種組織關係起來的一批資料,其目的是為了提高演算法的效率,然後用一定的儲存方式儲存到計算機中,並且它通常與一組演算法的集合相對應,通過這組...
軟考 (2)資料結構
我們可以讀取這些資料,那麼這些資料在計算機中又是如何儲存和組織的呢,這就是我們要說的資料結構。上面的思維導圖是按照資料結構的分類及處理畫的,其實二者並不是孤立的。在查詢和排序中,也可以看到線性 樹 圖的影子。也就是在資料結構的邏輯儲存結構中進行查詢和排序等的運算,它們都是緊密結合在一起的。1 線性 ...
軟考之資料結構
第一部分 資料結構 下面是我自己畫的一張圖,先來個巨集觀的掌握,先知道資料結構有什麼,然後在一一攻破。資料結構是軟考的難點,再加上我們即將到來的自考也會涉及到,要好好重視起來。這裡有乙個疑問,關於陣列是不是線性結構的問題,個人愚見,多維陣列屬於非線性結構。希望大家斧正。到後面我會用 號的多少來說明考...