回溯算法

排列, 组合, 八皇后, 迷宫
回溯算法实质上是深度优先遍历整棵树,
关键点:

  1. 分叉选择, 到底做何种选择, 选择什么
  2. 结束条件, 什么时候结束, 一般是遍历到叶子节点结束, 结束了即形成一条路径

算法模板

def backtrack(路径, 可选择列表):
  if 结束条件:
    result.add(路径)
  for i in 可选择列表:
    选择
    backtrack(路径, 可选择列表)
    撤销选择
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。