算法思想 - 回溯法

1,回溯法

1)遵循深度优先搜索法,类似枚举的试探法,在搜索过程中寻找问题的解,发现不满足时,就回溯,后退一步,满足回溯条件的某个状态点,称为回溯点

2,代码示例

1)组合总和
每次递归target - temp

image.png

image.png

2)数字组合,手机号码盘
image.png

3)括号生成
image.png

4)全排列
image.png

5)N皇后问题
image.png

image.png

3,回溯法与深度优先搜索的对比

1)深度优先搜索:已经访问的节点不会再次访问,所有节点仅访问一次。
2)回溯法:已经访问的节点可能再次访问,也可能存在没有访问的节点。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概率论与数理统计 无穷小阶数 无穷小量表述:线性逼近 相当于利用切线和斜率来理解误差和逼近。 泰勒级数:线性逼近 ...
    Babus阅读 823评论 0 1
  • 图是一种灵活的数据结构,一般作为一种模型用来定义对象之间的关系或联系。对象由顶点(V)表示,而对象之间的关系或者关...
    ad丶leo阅读 873评论 0 0
  • 现在人都想要过着不一样的生活。那么生活到底给了我们一些什么样的启示呢? 有人说我想要这我想要的,但是到底你究竟想要...
    雅致妈妈阅读 1,844评论 0 2
  • 想起前任里有这一句台词:不是每个人都能叫前任,而前任也并非只是某个人,他是每一个走过的人在你心里留下的痕迹。 记得...
    爱吃糖的猫cat阅读 318评论 0 0
  • 文/梁启超 人生什么事最苦呢?贫吗?不是。失意吗?不是。老吗?死吗?都不是。 我说人生最苦的事,莫苦于身上背著一种...
    秦东魁阅读 498评论 0 0