代码随想录26|回溯总结

回溯总结:链接地址

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

模板如下:

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

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

组合问题:

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

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

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

相关推荐
Aaron15883 分钟前
全频段 SDR干扰源模块解决方案(星链干扰、LORA无人机干扰)
人工智能·算法·fpga开发·硬件架构·硬件工程·无人机·信息与通信
AI科技星7 分钟前
全域数学·球面拓扑微扰标准系数η=0.01 应用详解(典籍正式版)
人工智能·算法·数学建模·数据挖掘·机器人
微风欲寻竹影8 分钟前
Java数据结构——栈(Stack)详解
java·开发语言·数据结构
TechWayfarer10 分钟前
网络安全视角:利用IP定位API接口识别机房与基站流量(合规风控篇)
开发语言·网络·数据库·python·安全·网络安全
Makoto_Kimur11 分钟前
Java 后端面试场景题:页面刷新后一直转圈,应该怎么排查?
java·开发语言·面试
小陶来咯12 分钟前
aimrt中间件的使用
开发语言·qt·中间件
神仙别闹12 分钟前
基于C语言实现(控制台)学生信息管理系统
c语言·开发语言
逻辑君22 分钟前
物理学研究报告【20260001】
人工智能·算法
ch.ju25 分钟前
Java Programming Chapter 3——Default value of array
java·开发语言
YL2004042627 分钟前
041二叉树的层序遍历
数据结构·leetcode·bfs