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