動態(tài)規(guī)劃的設(shè)計(jì)思想 算法設(shè)計(jì)有哪些方法?
算法設(shè)計(jì)是一項(xiàng)非常困難的工作。常用的算法設(shè)計(jì)技術(shù)有迭代法、窮舉搜索法、遞歸法、貪心法、回溯法、分治法、動態(tài)規(guī)劃法等。另外,為了設(shè)計(jì)和輕視更簡潔的算法形式,經(jīng)常使用遞歸來描述算法。算法設(shè)計(jì)有哪些方法?回
算法設(shè)計(jì)是一項(xiàng)非常困難的工作。常用的算法設(shè)計(jì)技術(shù)有迭代法、窮舉搜索法、遞歸法、貪心法、回溯法、分治法、動態(tài)規(guī)劃法等。另外,為了設(shè)計(jì)和輕視更簡潔的算法形式,經(jīng)常使用遞歸來描述算法。
算法設(shè)計(jì)有哪些方法?
回溯算法的基本思想是:從一條路往前走,能進(jìn)就進(jìn),不能退就退,在另一條路再試一次。補(bǔ)充:在問題的解空間樹中,回溯法根據(jù)深度優(yōu)先策略從根節(jié)點(diǎn)開始搜索解空間樹。當(dāng)算法搜索到解空間樹的任意一點(diǎn)時,首先判斷節(jié)點(diǎn)是否包含問題的解。如果不包含,則跳過與根節(jié)點(diǎn)的子樹搜索,逐層追溯到祖先節(jié)點(diǎn);否則進(jìn)入子樹,按照深度優(yōu)先策略繼續(xù)搜索。