可以使用剪枝的一些情况
可行性剪枝
已经出现不符合题目要求时,可以直接退出循环.如寻找几个数(都是正数)加起来是否为sum时,如果当前搜索已经大于sum时,后面无论怎么搜索都不会符合条件可以直接return
最优性剪枝
比如在求迷宫最短路类的问题中,当前搜索的路径和已经比之前搜索的最小路径和还大时,可以知道后面的搜索已经无意义了可以直接return
重复性剪枝
在一些题目里,我们只关心选择了什么东西而不关注选择的顺序,于是可以剪掉已经出现这种选择但是顺序不一样的搜索
可以规定搜索的结果是递增的,可以在函数里保存上一个选择的位置,下一个函数从该位置出发保证不会重复选择
奇偶性剪枝