1. 程式人生 > >【演算法】第五章作業

【演算法】第五章作業

演算法】第五章作業

1.你對回溯演算法的理解(2分)

回溯法有“通用的解題法”之稱,它是以深度優先方式系統搜尋問題解的演算法。其中解空間這個概念很重要,可以這麼說它是演算法在尋找解的活動範圍,在這個策略中,他按照深度優先策略,從根結點出發搜尋解空間樹(解空間樹是一個較為虛擬的概念,可以讓人更理解尋解過程)。當到達一個根節點時,可以說這是已經找到一個解了,當根節點所有子樹均被搜尋一遍才結束。

2. 請說明“子集和”問題的解空間結構和約束函式(2分)

①“子集和”問題的解空間結構子集和問題的一個例項為<S,c>。其中S={x1,x2,…,xn}是一個正整數的集合,c是一個正整數。子集和問題判定是否存在S的一個子集S1,使得S1中所有元素的和為c。

約束函式:約束函式是根據題意定出的。通過描述合法解的一般特徵用於去除不合法的解,從而避免繼續搜尋出這個不合法解的剩餘部分。因此,約束函式是對於任何狀態空間樹上的節點都有效、等價的。

3. 請說明在本章學習過程中遇到的問題及結對程式設計的情況(1分)

學習本章知識,需要構建一定的想象能力,這樣的話,學習起來可能更快上手,比如解空間數這個概念,首先要根據問題,確定好其解空間。另外,結對程式設計,從同伴身上學會了很多,思考方面,解題思路等等。