怎样找到一个算法问题的答案

1. 直接性的问题,不需要任何特殊的技巧(例如模拟,搜索,排序,等)。。。

此处翻译略过

 

2. 宽度有限搜索(Breadth First Search - BFS)

宽度有限搜搜复杂度通常可以达到线性,有时候会是平方,或者是NlogN.

最大的线索是需要n步状态迁移,每一次状态迁移的代价是1.

 

3. 泛洪(Flood Fill)

有时候你需要使用泛洪技术解决一些问题,这项技术使用BFS找到所有可达节点。它和BFS问题不同在于它并不求最小路径或者代价。

 

4. 蛮力和回朔(Brute Force and Backtracking)

这两个技术很像-尝试所有可能的情况并且选择最好的,或者只计算那些需要的。

 

5. 动态规划:

很多问题是用这项技术解决的。知道怎样发现这类问题是很有价值的。但是为了做到这一点,一个人必须有一些动态规划方面的经验。

定义一个动态规划问题最难的部分在发现状态。

 

6.HRRD DRILL

 

最大流

很多情况下很难察觉出一个问题的解决方案是最大流。

 

最优匹配对

 

混合图形算法

 

7. 线性规划

 

 

 

 

 

你可能感兴趣的:(怎样找到一个算法问题的答案)