可以使用剪枝的一些情况

可行性剪枝

已经出现不符合题目要求时,可以直接退出循环.如寻找几个数(都是正数)加起来是否为sum时,如果当前搜索已经大于sum时,后面无论怎么搜索都不会符合条件可以直接return

最优性剪枝

比如在求迷宫最短路类的问题中,当前搜索的路径和已经比之前搜索的最小路径和还大时,可以知道后面的搜索已经无意义了可以直接return

重复性剪枝

在一些题目里,我们只关心选择了什么东西而不关注选择的顺序,于是可以剪掉已经出现这种选择但是顺序不一样的搜索

可以规定搜索的结果是递增的,可以在函数里保存上一个选择的位置,下一个函数从该位置出发保证不会重复选择

奇偶性剪枝


posted @ 2020-11-04 21:23  一个经常掉线的人  阅读(77)  评论(0编辑  收藏  举报