回溯算法

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

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.单层递归逻辑

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务