代码随想录26|回溯总结

回溯总结:链接地址

回溯三部曲 :参数、终止条件、for遍历(递归、回溯)

模板如下:

cpp 复制代码
void backtracking(参数) {
    if (终止条件) {
        存放结果;
        return;
    }

    for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {
        处理节点;
        backtracking(路径,选择列表); // 递归
        回溯,撤销处理结果
    }
}

组合问题:

startIndex来控制for循环的起始位置
切割问题:

切割过的地方不能重复切割所以递归函数需要传入i + 1
子集问题:

在树形结构中子集问题是要收集所有节点的结果,而组合问题是收集叶子节点的结果

相关推荐
宁大小白4 分钟前
pythonstudy Day42
开发语言·python
零小陈上(shouhou6668889)5 分钟前
西红柿叶病害检测(yolov8模型,从图像、视频和摄像头三种路径识别检测,包含登陆页面、注册页面和检测页面)
开发语言·python·yolo
superman超哥6 分钟前
仓颉Result类型的错误处理模式深度解析
c语言·开发语言·c++·python·仓颉
Binky67813 分钟前
力扣--贪心篇(1)
数据结构·算法·leetcode
sinat_2554878114 分钟前
文件I/O流
java·jvm·算法
ht巷子14 分钟前
Qt:信号与槽
开发语言·c++·qt
北辰水墨16 分钟前
【算法篇】单调栈的学习
c++·笔记·学习·算法·单调栈
源代码•宸17 分钟前
goframe框架签到系统项目开发(分布式 ID 生成器、雪花算法、抽离业务逻辑到service层)
经验分享·分布式·mysql·算法·golang·雪花算法·goframe
AIpanda88818 分钟前
当智能化工具应用于企业,如何借助AI销冠系统提升工作效率?
算法
watersink18 分钟前
Agent 设计模式
开发语言·javascript·设计模式