当前位置:首页算法 > 正文

试探法算法思想

作者:野牛程序员:2023-05-09 07:23:45算法阅读 2570

试探法也称为回溯法,它是一种系统地搜索问题解的方法,该算法设计思想适用范围相当广泛。例如,在棋手思考下一步该 走哪里时,就是采用试探法:首先试想下一步所下的位置,计算对手的应对,再计算自己的应对,若对手的应对于我不利,则取 消该下一步设想,然后重新计算另一个下一步的位置。这就是一步试探法。


算法思路 

试探法是计算机解题中常用的算法,很多问题无法根据某种确定的计算法则来求解,可以利用试探的技术求解。试探法是搜 索算法中的一种控制策略。它的基本思想是:从问题的某一种状态(一般是默认的初始状态)出发,搜索从这种状态出发所能达 到的所有“状态”,当一条路走到“尽头”的时候,先退几步,接着从另一种可能的“状态”出发,继续搜索,直到所有的“路径”都尝试 过。

编程经验 

对于常见的迷宫问题,就可使用试探法来求解,具体过程为:进入迷宫后,先随意选择一个前进方向,一步步 向前试探前进,如果碰到死胡同,说明前进方向已无路可走,这时,首先看其他方向是否还有路可走,如果有路可走,则沿该方 向再向前试探;如果已无路可走,则返回一步,再看其他方向是否还有路可走;如果有路可走,则沿该方向再向前试探。按此原 则不断试探、回溯、再搜索,直到找到新的出路或从原路返回入口处无解为止。


提示 试探算法一般也采用递归形式编写程序。

对解集合中的各解进行试探
{
   if (满足条件)
  {
     保存结果
     if (完成集合中所有解的试探)
        输出解
     else 重复本过程进行下一步的试探(递归调用本函数)
   }else 恢复至上一步保存结果之前的状态, 进行另一步试探(递归调用本函数)
}


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击