回溯算法

回溯法的基本步骤是什么?

https://www.nowcoder.com/questionTerminal/4b8b85b2f94a4558ada70829ccd60aa0

组合问题:1234

切割问题:字符串切割

子集问题:1234:{12}{23}{34}

排列问题:

棋盘问题:N皇后、解数独

一般用树抽象:

vector<vector<int>> 二维数组;
vector<int> path;
void Backtracking(参数:n,k,startindex){//n:个数 k:组合大小
	if(终止条件){
    	收集结果;
        return;
        }
	for(集合元素){
    处理节点;
    递归;
    回溯操作;
    }
}

回溯三部曲: 1.递归函数的参数和返回值 2.确定终止条件 3.单层递归逻辑

全部评论

相关推荐

躺尸修仙中:因为很多92的也去卷中小厂,反正投递简历不要钱,面试不要钱,时间冲突就推,不冲突就面试积累经验
点赞 评论 收藏
分享
10-05 23:02
东北大学 Java
我说句实话啊:那时候看三个月培训班视频,随便做个项目背点八股,都能说3 40w是侮辱价
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务