一些理論 dfs中的剪枝

2021-09-28 22:48:43 字數 567 閱讀 3941

一.使用剪枝的作用

避免一些不必要的搜尋,提高效率。

二.關於剪枝

1.無論是搜尋最優解還是搜尋確定解,我們總希望盡快的找到解,因此就要調整搜尋樹的遍歷順序。不同的遍歷順序適合不同的條件和情景。

如果一棵樹的最優解在其靠右的枝上,那麼如果仍然使用順序遍歷會比較晚的得到解,如果調整遍歷順序為從右往左,就能夠更快的得到解,減少時間複雜度。

所以此類剪枝就是首先搜尋那些可能很快就能得到解的子問題,對子問題進行排序來達到調整搜尋順序的目的,然後就能較早的搜尋到需要尋找的確定解。

2.如果想要通過上面這種方法求最優解,那麼還需要另外乙個剪枝進行配合。

這類剪枝需要利用極限的思想。在剪枝1較早得到的搜尋目標的基礎上,在接下來對每乙個子問題進行搜尋前可以先獲得該子問題的搜尋目標的極限,通過該極限可以判斷對該子問題搜尋出的解能否比當前最優解更優;或對該子問題搜尋出的搜尋目標能否滿足要求,如果不能,就沒必要了搜下去了,直接跳過對該子問題的搜尋。該剪枝可以有效減小對某一子問題的搜尋深度。

三.一些剪枝+dfs的問題

poj1190?

poj1167?

軟體測試一些理論

軟體測試定義 軟體測試物件 軟體測試分類 首先說呀,是因為想要投軟體測試的實習,所以我就學習了一些軟體測試的一部分理論,學藝不精呢。僅當日記。使用人工或自動的手段來執行或者測量軟體系統的過程,目的是檢驗軟體系統是否滿足規定的需求,並找出與預期結果的差異。它是為了發現錯誤而執行程式的過程,測試 為了尋...

對於剪枝的一些理解(個人總結)

自從死在生日蛋糕這道題的無法理解之後,我就決定要好好開始學習搜尋這一神仙演算法。下面是我自己對於搜尋中的剪枝的一些理解 可能方法是抄的,但是理解是自己想的,就算不是自己的創新,也是自己理解之後的自己的話!自己口胡一波,不一定對,但是應該好記。搜尋還有順序?直接搜不就行了?no,no,no 搜尋當然是...

DFS中的奇偶剪枝學習筆記

編輯 現假設起點為 sx,sy 終點為 ex,ey 給定t步恰好走到終點,s e 如圖所示 豎走,橫走,轉彎 易證abs ex sx abs ey sy 為此問題類中任意情況下,起點到終點的最短步數,記做step,此處step1 8 s e 如圖,為一般情況下非 最短路徑的任意走法舉例,step2 ...