算法设计与分析.pptVIP

  • 1
  • 0
  • 约7.62千字
  • 约 36页
  • 2018-12-31 发布于湖北
  • 举报
算法设计与分析 目录 动态规划 贪心算法 状态空间搜索法 分治法 随机算法 模拟算法 递归算法 数论算法 回溯算法 对于有些最优解问题,没有任何的理论也无法采用精确的数学公式来帮助我们找到最优解,我们只能用穷举算法。在这里我们介绍一种系统化的穷举搜索技术,称为回溯技术。 所谓回溯技术就是向人走迷宫一样,先选择一个前进方向尝试,一步步试探,在遇到死胡同不能再往前的时候就会退到上一个分支点,另选一个方向尝试,而在前进和回撤的路上都设置一些标记,以便能够正确返回,直到达到目标或者所有的可行方案都已经尝试完为止。 回溯算法 在通常的情况下,我们使用递归方式来实现回溯技术,也就是在每一个分叉点进行递归尝试。在回溯是通常采用栈来记录回溯过程,使用栈可使穷举过程能回溯到所要的位置,并继续在指定层次上往下穷举所有可能的解。 回溯算法用伪代码描述如下: Proc search(当前状态); Begin If 当前状态等于目标状态 then exit; for 对所有可能的新状态 search(新状态); End; 回溯算法的经典问题 八皇后问题。 骑士周游问题 地图着色问题 八皇后问题 问题描述 在一个8×8的棋盘里放置8个皇后,要求每个皇后两两之间不相“冲突”(在每一横列竖列斜列只有一个皇后)。 算法流程 1、数据初始化。 2、从n

文档评论(0)

1亿VIP精品文档

相关文档