回溯法介绍-回溯与递归的区别【详细且排版舒服】

news2024/10/5 2:00:19

请添加图片描述

一、回溯法

1. 定义

有一类问题,我们不知道它明确的计算法则。而是先进行试探,试探到最终状况,发现不满足问题的要求,则回溯到上一个状态继续试探。这种不断试探和回溯的思想,称为回溯法(Back Track Method)
回溯法是在包含问题的所有可能解的解空间树中,从根结点出发,按照深度优先的策略进行搜索,对于解空间树的某个结点,若满足约束条件,则进入该子树继续搜索,否则将以该结点为根结点的子树进行剪枝。
此类问题包括:求最优解、一组解、全部解。例如八皇后问题

举个小例子
我们肯定都玩过迷宫游戏吧,比较复杂的迷宫,肯定是不可能第一遍就直接过了,只能一步一步地进行尝试。当走到一个死胡同时,只能退回到上一个分岔口进行重新选择。数独游戏也是这样的,对于一个不确定的方格,我们就会先将这个方格可能出现的问题记录下来,一个一个地尝试,直到得到正确解。有着“通用解”称呼所以,回溯算法就是类似于枚举的算法,将这一步的所以可能性一个一个地进行尝试。上边迷宫中的分岔口和数独中的可能出现多个数字的方格就是“回溯点”

2. 回溯的算法思想

一直往下走,然后再一步步往回走。
面对一个问题,每一步有多种做法。先做其中一个做法,然后再此基础上一直做下去,把这个做法的所有可能全部做完,再回来,做第二种做法。

3. 回溯法实质

它的求解过程实质上是先序遍历一棵“状态树”的过程。只不过,这棵树不是遍历前预先建立的,而是隐含在遍历过程中。如果认识到这点,很多问题的递归过程设计也就迎刃而解了。

4. 例子

深度优先搜索
求一个序列的幂集
八皇后问题
涂色问题

二、回溯与递归的区别

回溯这个算法思想可以由递归这个算法结构来实现

递归回溯
是一种算法结构是一种算法思想,可以用递归来实现
递归即是自己调用自己或间接调用自己回溯就是一种试探,类似于穷举,但是回溯比穷举少很多计算量,俗称剪枝
例如计算阶乘问题:n ! = ( n − 1 ) ! ∗ n例如求和问题:给定7个数字(1、2、3、4、5、6、7),在7个数字中选几个数字,令它们的和等于8; 我们可以从小到大搜索,选择1+2+3+4=10>8,已经超过8,之后567就没必要继续了。此时就是一种搜索过程优化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1110457.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试 - 机器人走迷宫 - 深度优先搜索dfs(Java 2023 B卷 200分)

目录 专栏导读一、题目描述二、输入描述三、输出描述四、解题思路五、深度优先搜索dfs六、Java算法源码七、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中,刷题点这里 专栏导读 本专栏收录于《华为OD机试(JAVA)真题&…

Sosyal Lig Arena VoxEdit 比赛

召集所有体素艺术家和足球爱好者!准备好彻底改变足球世界了吗? 我们邀请所有艺术家参加 VoxEdit 未来足球比赛。这场激动人心的比赛向你们发出挑战,请使用 VoxEdit 想象元宇宙中足球的未来。 发挥你们的创造力,展望未来的足球世…

半导体即国家,日本做了啥?最大的 AI 模型并不十分透明;特斯拉安全数据报告缺失近一年丨 RTE 开发者日报 Vol.70

开发者朋友们大家好: 这里是 「RTE 开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE (Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

香港服务器在国内访问太慢怎么能提高?

​  一直以来,全球化业务需求的增长是跟随着蓬勃向上的互联网而发展的。有了网络,海外贸易就在鼠标的轻点中完成。而IDC市场中的香港服务器也因为免备案政策的特性,开始逐渐成为企业想要跨越地域壁垒而考虑的对象。但在使用过程中&#xff…

视频号下载助手中的小程序怎么用?微信视频号提取下载教程

​用过视频号视频下载助手都说好用,但还有不少人不知道如何操作,怎么才能快速提取视频号视频呢?今天就分享两个工具【视频下载助手】和【视频下载bot】两个结合的方式进行下载,具体操作看教程。 在微信客户端中搜索提取机器人&…

开关电源芯片好坏的判断标准是什么?如何判断电源芯片的好坏?

电源芯片是电子设备的一个重要元件,如果电源芯片损坏,那么设备也将停止工作。开关电源芯片是一种电源管理器件,可以将输入电压转换为稳定的输出电压。为了开关电源芯片可以正常稳定运行以及电子设备可以正常工作,对于电源芯片的检…

Java面试题:链表-合并两个排序的链表

描述 输入两个递增的链表,单个链表的长度为n,合并这两个链表并使新链表中的节点仍然是递增排序的。 示例 输入: {1,3,5}, {2,4,6}返回值: {1,2,3,4,5,6}原题地址:https://www.nowcoder.com/practice/d8b6b4358f7742…

域控操作三:给域用户本地管理员权限

登录本地管理账号 右键此电脑–管理–本地用户和组–组—双击administrators 一般来说会有本地管理账号和域控的已缓存账号 点击添加–高级–输入域控管理员账号 搜索这个电脑使用人添加进去。重启电脑即可

【Java】ArrayList集合使用

ArrayList集合常见方法 方法名称说明public boolean add(E e)将元素插入到指定位置的arraylist中,返回值:返回boolean类型public E remove(int index)删除 arraylist里的单个元素,返回值:返回删除之前的元素public E set(int inde…

ESP32集成开发环境Espressif-IDE安装 – Windows

陈拓 2023/10/15-2023/10/16 1. 概述 Espressif IDE是一个基于Eclipse CDT的集成开发环境(IDE),用于使用ESP-IDF框架开发物联网应用程序。这是一个专门为ESP-IDF构建的独立定制IDE。Espressif IDE附带了IDF Eclipse插件、重要的Eclipse CDT插…

VMware下linux中ping报错unknown host的解决办法

一、错误截图 二、解决办法 2.1 按照步骤查看本机虚拟IP 依次点击:【编辑】》【虚拟网络编辑器】,选中NET模式所属的行,就能看到子网地址。 比喻,我的子网地址是:192.168.18.0 那么,接下来要配置的linux…

Pyside6 资源系统和资源文件使用

Pyside6 资源系统和资源文件使用 资源系统使用创建资源管理器编译qrc文件调用资源文件 在开发APP过程中,经常需要使用一些文件,图片之类的资源,这些资源都有一个特点,就是跟用户的使用环境无关,也就是说必须独立于系统…

留学教育咨询机构如何通过软文强势突围

近年来留学市场逐渐回暖,但是行业竞争也更加激烈,留学教育咨询机构想要在激烈的市场竞争中强势突围,除了优秀的职业素养,专业的服务态度外,还需要具备品牌形象打造和推广的能力,也有不少留学机构找盒子进行…

Altium Designer 20.2.3绘制51单片机最小系统

1、在电脑中建立一个自定义的文件夹,以备存储设计文件用。双击打开“X2.EXE” 运行文件,进入软件工作界面。 2、创建工程文件:单击“文件”菜单,选择“新的”选项中的“项目”选项,在“Project Name”中将工程文件保存…

忽略SSL证书校验过程,重写其中的certificateError方法

Qt实现简单的显示网页(QtWebkit、QtWebEngine、QAxWidget)_qt 显示网页-CSDN博客 更多QtWebkit资料 更多QtWebEngine资料 更多QAxWidget 资料 关于根据CEF封装QCef学习QCef及CEF学习 Qt WebEngine(01):Qt WebEngin…

3D一代拳王

欢迎来到程序小院 一代拳王 玩法: 鼠标点击下方技能出拳,长按鼠标进行防御,不同种类的拳王,攻击力、速度、体质不同等级,快去解锁全部拳王进行拳王争霸吧^^。开始游戏https://www.ormcc.com/play/gameStart/191 html …

做好库存周转,再也不用担心企业效益

库存周转率对于企业的库存管理来说具有非常重要的意义。例如制造商,它的利益是由资金→原材料→产品→销售→资金的循环活动中产生的,如果这种循环很快也就是周转快时,在同额资金下的利益率也就高。 因此,周转的速度代表了企业利…

python文件中设置环境变量

import os os.environ[KMP_DUPLICATE_LIB_OK] True

已经拒了3个Offer了,心痛

今天早上在刷到这样一个帖子,如标题所见:已经拒了3个Offer了,心痛。今年的行情就是这样,旱的旱死涝的涝死,有的小伙伴在苦苦等一个 offer,对,一个就行;有的小伙伴就必须在多个 offer…

模块电源(五):DC-自举电容

一、DC控制器 1、TLV62569(不需自举电容) TLV62569数据手册中,典型应用电路如下所示: 2、MT2492(需要自举电容) MT2492数据手册中,典型应用电路如下所示:其中 C2 为自举电容 二、…