回溯算法

2020-04-13  本文已影响0人  三元一只十元三只

我理解的回溯算法是一种比较暴力的穷举算法。他有一个比较固定的结构:

if 条件语句:

    跳出循环

for 条件列表:

    做选择

    backtrack

    撤销选择

重点是后半部分的for循环。要理解这个公式,需要结合树的模型。一个父节点可以有多个子节点,每次循环选择一个子节点,然后剩余节点作为下次循环的条件列表,循环完成后一步步撤销。回溯算法比较经典的使用场景,一般用于全排列,N皇后,九宫格等。

上一篇 下一篇

猜你喜欢

热点阅读