基础算法学习笔记(一)----回溯法

导读:

  回溯法是一种设计精巧的蛮力搜索法。它采用了深度优先的搜索策略

  
基本思想

  回溯法的基本思想用伪代码形式表现如下

  S = {初始问题域}

  WHILE s <>{} DO

  BEGIN

  取出S中一个元素,设为s;

  IF s 可以安全使用 THEN

  BEGIN

  设定 s 为已使用;

  IF 问题还没有解决 THEN

  用缩小后的问题域让S调用自己

  ELSE

  问题解决,显示答案;

  把s还原为未使用状态

  END

  END

  
实现关键

  回溯法一般写成递归形式。在实际使用时对其优化主要是在进行选择后如何最大限度的缩小问题域。

  
应用举例

  回溯法经典应用有:迷宫搜索,N后问题,骑士巡游,正则表达式匹配等等。在用递归实现的算法中,几乎都能看到回溯的影子。

  

  

  Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1746772

  [收藏到我的网摘] [发送Trackback] Ryen发表于 2007年08月16日 16:31:00

本文转自

http://blog.csdn.net/diyer2002/archive/2007/08/16/1746772.aspx

    原文作者:回溯法
    原文地址: https://blog.csdn.net/PasserbyX/article/details/1890675
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞