代码随想录26|回溯总结

回溯总结:链接地址

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

模板如下:

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

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

组合问题:

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

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

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

相关推荐
猿饵块几秒前
c++17--std::owner_less
开发语言·c++
月明长歌2 分钟前
【码道初阶】Leetcode面试题02.04:分割链表[中等难度]
java·数据结构·算法·leetcode·链表
如竟没有火炬4 分钟前
快乐数——哈希表
数据结构·python·算法·leetcode·散列表
TL滕6 分钟前
从0开始学算法——第十四天(数组与搜索练习)
笔记·学习·算法
IMPYLH6 分钟前
Lua 的 xpcall 函数
开发语言·笔记·后端·游戏引擎·lua
郝学胜-神的一滴8 分钟前
设计模式依赖于多态特性
java·开发语言·c++·python·程序人生·设计模式·软件工程
SoleMotive.9 分钟前
bio、nio、aio的区别以及使用场景
python·算法·nio
草莓熊Lotso9 分钟前
Python 基础语法完全指南:变量、类型、运算符与输入输出(零基础入门)
运维·开发语言·人工智能·经验分享·笔记·python·其他
一招定胜负17 分钟前
机器学习算法二:逻辑回归
算法·机器学习·逻辑回归
星诺算法备案18 分钟前
算法备案材料:明晰材料逻辑,构建安全合规的算法体系
人工智能·算法·推荐算法·备案