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

网站建设策划书olseo小白入门

网站建设策划书ol,seo小白入门,五星级酒店网站建设方案,工程建设安全管理进出栈的组合数 王道数据结构书里说栈进出组合数的时候&#xff0c;让背公式把这个推导跳过去了&#xff0c;我去网上看分析贴又翻到用深搜递归代码来解释问题的情况&#xff0c;代码如下: include<iostream> using namespace std; int dfs(int i,int j){if(i0)return …

进出栈的组合数

王道数据结构书里说栈进出组合数的时候,让背公式把这个推导跳过去了,我去网上看分析贴又翻到用深搜递归代码来解释问题的情况,代码如下:

include<iostream>
using namespace std;
int dfs(int i,int j){if(i==0)return 1;//没有数要进栈,方案数为1int sum=0;if(j>0)sum+=dfs(i,j-1);//将一个数出栈sum+=dfs(i-1,j+1);//将一个数进栈return sum;
}
int main(){int n;cin>>n;cout<<dfs(n,0);return 0;
}

看到这个代码不知道有多少人像我一样久久困惑于递归玄学,原帖的解析如下:

我们可以考虑用递归来枚举每一种状态,对于每种状态,它可以衍生出两种状态,一:将一个数进栈,二:将栈顶出栈 所以我们就可以给d f s
dfsdfs函数设置两个参数,一个是还没有进入栈的有多少个元素和栈内现在有多少个元素 所以可以定义d f s ( i , j )
dfs(i,j)dfs(i,j)的意思是还有i个元素没有进入和j个数未出栈的总方案 这样写起来应该会写吧,主函数内调用的就是d f s (
n , 0 ) dfs(n,0)dfs(n,0),意思是n个数还没有进栈和0个数没有出栈的总方案

我过去写LeetCode或者蓝桥杯碰到这种其实都一只半解
为什么进一个数或者出一个数就调用递归,还把返回值加到方案数,最终就能得到方案数?

终于这次停止空想开始手推这个过程
假设有初使空栈,10个数需要进栈
每一步可以选择出栈或者进栈,这其实很像一颗决策二叉树。请添加图片描述
推得过程中逐渐发现,

  • 代码中sum+=dfs的位置其实就是二叉树每次长出新的分叉的位置
  • 每个dfs调用何时结束呢,也就是sum+1什么时候发生?那就是走到最后下面再也没有新的分叉的时候,这决定递归结束条件,是i=0,及没有新的元素需要入栈了。
  • 然而每个分叉都会诞生一个新的选择方案,所以,每次dfs决定要进还是要出都加进sum里,得到叶子节点结束调用时得到返回值。
  • 而每次分叉都诞生一个新的选择方案,初始状态分叉诞生两个选择,以后每次分叉诞生一个新的选择,所以分叉数+1就得到选择方案的总数。而每个方案都有最后一步,都会诞生一个叶子节点,方案数等于叶子节点的数量!并且分叉是什么?非叶子节点!
    请添加图片描述
http://www.ds6.com.cn/news/59196.html

相关文章:

  • 天津市建设工程信息网专家网搜索引擎优化的具体操作
  • 电商网站开发团队郑州网站建设专业乐云seo
  • 网站怎样做没有病毒人工在线客服系统
  • 重庆网站建设公司有哪些内容萧山市seo关键词排名
  • 网站怎么申请微信认证大一网页设计作业成品免费
  • 图片摄影网站阿里云建站
  • 公司网站开发有哪些关键词优化工具
  • 阿里云虚拟主机网站外链大全
  • 帮别人做钓鱼网站吗东台网络推广
  • 网站推广工具大全专业黑帽seo
  • 辽中网站建设广点通
  • 百度站长平台闭站保护seo排名点击报价
  • 公司做网站的费用计什么科目友情链接实例
  • 学校网站建抖音seo招商
  • 网站空间ip地址免费域名怎么注册
  • 公司企业文化模板杭州谷歌seo公司
  • 找施工员在哪个网站上找steam交易链接在哪复制
  • 哈尔滨网站建设网站开发东莞seo优化案例
  • 吉安网站建设jajjjc百度如何投放广告
  • 嘉兴高端网站建设网站你应该明白我的意思吗
  • 网站建设与营销服务成都网站建设seo
  • 网站在公司做有什么要求吗搭建网站平台
  • 中华人民共和国城乡建设部网站首页合肥百度关键词推广
  • 河源今日新闻头条火灾信息流优化师简历模板
  • 游戏交易平台360优化大师官方版
  • 美心西饼在哪个网站做问卷调查济宁百度竞价推广
  • 怎么在服务器上部署网站百度seo推广首选帝搜软件
  • 深圳做网站建设的哪家效果好又便宜内容营销是什么意思
  • 绵阳网站建设 经开区百度搜一搜
  • 淮安专业做网站的公司做网站的步骤