来老铁干了这碗代码 2020-03-03 16:14 采纳率: 75%
浏览 669
已采纳

回溯、深搜、剪枝的区别是什么?

在刷题中,看题解时总是遇到DFS、回溯、剪枝这类字眼,但总是搞不懂他们有什么区别。

以下是我的理解,不知是否正确?

剪枝是用来优化的,深搜是将一种可能执行到底,而回溯是碰到不可行的情况就结束,开始下次遍历, 那么深搜+剪枝=回溯。

  • 写回答

1条回答 默认 最新

  • 格戮 2020-03-03 17:57
    关注

    以下是我个人理解:

    深搜可以理解为一直套用函数最后得出结果;

    回溯可以理解为对每一步或每一个位置上的不同操作的出多种结果,再根据所需取得想要的答案;

    剪枝就是对递归函数空间和时间上的优化,舍掉无用部分的递归,尽力去只递归有价值部分。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler