日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

搜索 —— 深搜的剪枝技巧

發布時間:2025/3/17 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 搜索 —— 深搜的剪枝技巧 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【概述】

搜索算法的時間復雜度大多是指數級的,難以滿足對程序運行時間的限制要求,為使降低時間復雜度,對深度優先搜索可以進行一種優化的基本方法——剪枝。

搜索的進程可以看做是從樹根出發,遍歷一顆倒置樹(搜索樹)的過程,所謂剪枝,就是通過某些判斷,避免一些不必要的遍歷過程,形象的說,就是減去搜索樹中的某些枝條。

顯而易見,應用剪枝優化的核心問題是設計剪枝判斷方法,即確定哪些枝條舍棄哪些枝條保留,設計出好的剪枝判斷方法,可以使得程序運行時間大大縮短,否則會適得其反。

剪枝的原則:正確、準確、高效

【優化技巧】

1.優化搜索順序

在不同的問題中,搜索樹的各個層次、各個分支之間的順序不是固定的,不同的搜索順序會產生不同的搜索樹形態,其規模大小也相差甚遠。

2.排除等效冗余

在搜索過程中,若能判斷從搜索樹當前節點上沿某幾條不同分支到達的子樹是相同的,那么只需對其中一條分支執行搜索。

3.可行性剪枝

可行性剪枝也叫上下界剪枝,其是指在搜索過程中,及時對當前狀態進行檢查,若發現分支已無法到達遞歸邊界,就執行回溯。

4.最優性剪枝

在最優化問題的搜索過程中,若當前花費的代價已超過當前搜索到的最優解,那么無論采取多么優秀的策略到達遞歸邊界,都不可能更新答案,此時可以停止對當前分支的搜索進行回溯。

【例題】

  • 吃奶酪(洛谷-P1433)(最優性剪枝):點擊這里
  • Sequence One(HDU-2610)(可行性剪枝+字典序):點擊這里
  • Sequence Two(HDU-2611)(可行性剪枝+字典序):點擊這里
  • 數字三角形(洛谷-P1118)(最優性剪枝+楊輝三角):點擊這里
    同題:Backward Digit Sums(POJ-3187):點擊這里
  • 靶形數獨(洛谷-P1074)(可行性剪枝+打表):點擊這里
    同題:靶形數獨(信息學奧賽一本通-T1447):點擊這里
  • 數的劃分(信息學奧賽一本通-T1440)(可行性剪枝):點擊這里
  • 和為 k 的組合(51Nod-1268)(搜索順序優化):點擊這里
  • 小木棍(信息學奧賽一本通-T1442)(多重剪枝):點擊這里
    同題:小木棍(洛谷-P1120 ):點擊這里
  • Addition Chains(信息學奧賽一本通-T1443)(可行性剪枝+搜索順序優化):點擊這里
  • 埃及分數(信息學奧賽一本通-T1444)(可行性剪枝):點擊這里
  • 平板涂色(信息學奧賽一本通-T1445)(可行性剪枝):點擊這里
  • 素數方陣(信息學奧賽一本通-T1446)(可行性剪枝+素數篩):點擊這里
  • 總結

    以上是生活随笔為你收集整理的搜索 —— 深搜的剪枝技巧的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。