当前位置: 首页 > news >正文

b2c网站怎么做友情链接交易网站源码

b2c网站怎么做,友情链接交易网站源码,青岛seo公司网站,wordpress后台页面加载慢仅做学习笔记,详细请访问代码随想录 ● 理论基础 ● 77. 组合 ● 理论基础 回溯法解决的问题 回溯法,一般可以解决如下几种问题: 组合问题:N个数里面按一定规则找出k个数的集合 切割问题:一个字符串按一定规则有几…

仅做学习笔记,详细请访问代码随想录

● 理论基础
● 77. 组合

● 理论基础

回溯法解决的问题
回溯法,一般可以解决如下几种问题:

组合问题:N个数里面按一定规则找出k个数的集合
切割问题:一个字符串按一定规则有几种切割方式
子集问题:一个N个数的集合里有多少符合条件的子集
排列问题:N个数按一定规则全排列,有几种排列方式
棋盘问题:N皇后,解数独等等

回溯法模板
这里给出Carl总结的回溯算法模板。

在讲二叉树的递归 (opens new window)中我们说了递归三部曲,这里我再给大家列出回溯三部曲。

回溯函数模板返回值以及参数
在回溯算法中,我的习惯是函数起名字为backtracking,这个起名大家随意。

回溯算法中函数返回值一般为void。

再来看一下参数,因为回溯算法需要的参数可不像二叉树递归的时候那么容易一次性确定下来,所以一般是先写逻辑,然后需要什么参数,就填什么参数。

但后面的回溯题目的讲解中,为了方便大家理解,我在一开始就帮大家把参数确定下来。

回溯函数伪代码如下:

void backtracking(参数)
回溯函数终止条件
既然是树形结构,那么我们在讲解二叉树的递归 (opens new window)的时候,就知道遍历树形结构一定要有终止条件。

所以回溯也有要终止条件。

什么时候达到了终止条件,树中就可以看出,一般来说搜到叶子节点了,也就找到了满足条件的一条答案,把这个答案存放起来,并结束本层递归。

所以回溯函数终止条件伪代码如下:

if (终止条件) {
存放结果;
return;
}
回溯搜索的遍历过程
在上面我们提到了,回溯法一般是在集合中递归搜索,集合的大小构成了树的宽度,递归的深度构成的树的深度。

如图:
在这里插入图片描述
注意图中,我特意举例集合大小和孩子的数量是相等的!

回溯函数遍历过程伪代码如下:

for (选择:本层集合中元素(树中节点孩子的数量就是集合的大小)) {
处理节点;
backtracking(路径,选择列表); // 递归
回溯,撤销处理结果
}
for循环就是遍历集合区间,可以理解一个节点有多少个孩子,这个for循环就执行多少次。

大家可以从图中看出for循环可以理解是横向遍历,backtracking(递归)就是纵向遍历,这样就把这棵树全遍历完了,一般来说,搜索叶子节点就是找的其中一个结果了。

分析完过程,回溯算法模板框架如下:

void backtracking(参数) {
if (终止条件) {
存放结果;
return;
}

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

}

● 77. 组合

class Solution {
private:vector<vector<int>> result; // 存放符合条件结果的集合vector<int> path; // 用来存放符合条件结果void backtracking(int n, int k, int startIndex) {if (path.size() == k) {result.push_back(path);return;}for (int i = startIndex; i <= n; i++) {path.push_back(i); // 处理节点backtracking(n, k, i + 1); // 递归path.pop_back(); // 回溯,撤销处理的节点}}
public:vector<vector<int>> combine(int n, int k) {result.clear(); // 可以不写path.clear();   // 可以不写backtracking(n, k, 1);return result;}
};
http://www.khdw.cn/news/54739.html

相关文章:

  • 网站建设优化需要懂那些知识seo网站优化培
  • 黔西南州党风廉政建设网站企业seo案例
  • 怎么选择网站建设公司中央刚刚宣布大消息
  • 网站建设思企互联百度站长工具数据提交
  • wordpress get title旺道seo网站优化大师
  • 广东建设网站热点新闻最新消息
  • 深圳网络公司做网站买友情链接
  • 茂名企业网站开发成都疫情最新情况
  • 什么网站做电子章做得好推广渠道有哪些方式
  • 网站推广员是什么友情链接平台站长资源
  • 投注网站建设需要多少钱百度在线客服问答
  • 公司网站公众号维护怎么做建站abc网站
  • 钢铁网站哪家做的好市场推广计划方案
  • 上海网站营销seosem是什么职业
  • 房产网签后能不能退房排名怎么优化快
  • 手机做网站网络营销的目的和意义
  • cms 网站群线上营销推广方式
  • 新余建站公司东营网站建设哪家更好
  • 新洲建设投标网站长沙网络营销推广公司
  • 泰州东方医院男科黑帽seo教程
  • 网站源码模块全网营销整合营销
  • 涉密网络建设seo培训机构哪家好
  • 赣州大余做网站建设营销软文范例大全100
  • 做视频网站怎么备案百度指数平台官网
  • 开个捕鱼网站怎么做直通车推广计划方案
  • 网站备案密码是什么样的福建seo快速排名优化
  • 非法网站开发者刑事责任it行业培训机构一般多少钱
  • 昆明网站开发培训2024年重大新闻摘抄
  • 用什么手机软件做网站三亚百度推广开户
  • 医院电子网站建设新闻软文自助发布平台