首页 > 编程语言 >(一)回溯算法

(一)回溯算法

时间:2023-03-04 09:14:09浏览次数:30  
标签:组合 int 问题 算法 回溯 穷举

概念:

什么是回溯算法:

回溯算法是对问题的一种穷举思想,及对于一些复杂的问题进行解析,一般采用递归,只是对一些穷举进行能优化(修枝),但是本质上还是穷举,原因是
没有找到更好的方法来对复杂问题的求解,

为什么是有优化效果

因为在递归的过程中不满足条件就退回上一步,

个人感悟

原来自己一直卡的地方是回溯

如:

  • 组合问题
    给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合
  //如果是单纯的暴力解题,那么自己就是下面代码
  int n = 4;
  for (int i = 1; i <= n; i++) {
      for (int j = i + 1; j <= n; j++) {
          cout << i << " " << j << endl;
      }
  }
  

那么问题来了,对于组合数K = N;这个办法就不能用了,这里就只能回溯了

标签:组合,int,问题,算法,回溯,穷举
From: https://www.cnblogs.com/tsqo/p/17177546.html

相关文章