0
可能未指定此問題,但我認爲這非常重要。當你想解決一個優化問題,並且你不熟悉dynamic programming
方法時,這是你想到的第一個想法。如何枚舉蠻力算法的所有可能性?
我可以舉一些簡單的例子:
- 獲取列表(很簡單)
- 列表中選擇一個集合的所有排列
- 列表中選擇一個集合的所有子集的最小元素
這些問題都有成熟的方法。但也有問題,不是很清楚:
- 列表中的兩個字符串的所有
edit distance
(我的意思是不是編輯操作中最短的一個) - 列表
common subsequence
兩個控制順序 - 所有列表圓括號
matrix chain multiplication
的所有可能性
我不知道用蠻力法解決這些問題。我的問題是:
是否有一個系統的通用方法列出蠻力算法的所有可能性?
我覺得這個問題太模糊了回答。有許多不同的組合結構(像子集,組合,排列,樹等等),你可以搜索,並且有整本書專門用來列舉它們(例如,參見「The Art of計算機編程,卷4A「) – templatetypedef 2013-03-25 06:40:07
」計算機編程的藝術,卷4A「。是有幫助的。謝謝@templatetypedef。 – tidy 2013-03-26 01:54:48