1. 优化搜索顺序 大部分情况下, 我们应该优先搜索分支较少的节点。

  2. 排除等效冗余 不搜索重复状态, 比如123可以搜12和21, 保证搜过12就不搜21, 即组合式搜索。

  3. 可行性/最优化剪枝 比如全局更新ans, 若当前再往下搜已经大于之前的最优解, 那么就不必再继续搜了。

  4. 记忆化搜索