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

广告建设网站建设建网站平台 优帮云

广告建设网站建设,建网站平台 优帮云,点单小程序 微信,网页设计师需要学什么课程这篇博客我不会写太多细节,我只做一件事,那就是教你如何写好一个递归. 二叉树的后序遍历 public void dfs(TreeNode root){if(rootnull)return;dfs(root.left);dfs(root.right);System.out.println(root.val); } 归并排序 public void merge(int[] nums,int left,int right)…

这篇博客我不会写太多细节,我只做一件事,那就是教你如何写好一个递归.

二叉树的后序遍历

public void dfs(TreeNode root){if(root==null)return;dfs(root.left);dfs(root.right);System.out.println(root.val);
}

归并排序

    public void merge(int[] nums,int left,int right){if(left>=right)return;int mid=left+(right-left)/2;merge(nums,left,mid);merge(nums,mid+1,right);合并两个有序数组......}

一,函数头的设计

找到相同的子问题,比如在二叉树的后序遍历,需要依次遍历左节点,右节点,根节点,所以打印单个节点就是相同的子问题,我们的函数参数就只需要(TreeNode root).归并排序的参数需要包含数组及区间边界(left/right),因为相同的子问题是处理数组的一个子区间

二,函数体的书写

忘掉递归展开的细节图,把递归函数抽象成一个整体,这是很重要的一点,"抽象"思想在计算机中无处不在,所以不要把精力耗费在细节的钻研上,要学会搭积木,把整个递归函数当成一个黑盒,我们输入数据,递归函数返回一个唯一的值.比如二叉树的后序遍历,我们就是要打印左节点,所以调用递归函数(这时候的递归函数就抽象成我们输入值,它会打印值)并传入左节点,然后打印右节点,调用递归函数并传入右节点,最后打印自身,也就是根节点.再比如,归并排序,先是左排序,调用递归函数(我们传入数组,它返回排序后的数组)并传入左数组,然后右排序,调用递归函数传入右数组,最后将两个排序后的数组进行合并.

三,终止条件

不能再分割的问题,就是字面意思,比如二叉树的后序遍历,节点等于空时,归并排序,数组不存在时,直接返回.

递归是自我复制的艺术。当写下dfs(root.left)时,本质是创造无数个遵循相同规则的黑箱副本。这就像分形图案:定义基础形状(终止条件)和生长规则(递归调用),复杂结构自然涌现。

http://www.dtcms.com/a/535617.html

相关文章:

  • 网站建设方案 docgrace 7 wordpress
  • 网站开发公司运营流程wordpress主题安装ftp
  • 滨江区网站开发公司合阳县建设局网站
  • php 建网站在线做公章网站
  • 买机票便宜的网站建设2017最新网站icp备案
  • 重庆怎样网站推广一般做网站需要的js有哪些
  • 福田做网站价格加拿大pc网站搭建
  • 平面设计常用网站win7系统优化软件
  • 上海城市建设大学网站唯品会网站开发
  • 教育网站建设网站云南建设项目审批中心网站
  • 如何做贷款网站推广免费项目网
  • 国外购买域名的网站做戒烟网站素材
  • 网站建设价格槽闸阀免费行情网站下载大全
  • 未来的门户网站做网站设计公司价格
  • 苏州建站推广公司网站建设捌金手指花总二七
  • 网站推广是什么最新新闻热点事件2023
  • 网站怎么记录搜索引擎的关键词网站维护内容及费用
  • 网站建设有哪些软件有哪些内容网页设计网站开发
  • 大学专业宣传网站开发课题意义寮步网站建设
  • 网站连接微信支付鑫迪一键建站系统
  • 网站建设用户量分析做百度收录比较好的网站
  • 柳市网站优化sae 网站备案
  • 电子商务网站建设试卷品牌建设公司网站
  • 湖南建设工程信息网站apm搭建 wordpress
  • 建设个人网页登陆网站地方网站怎么做挣钱
  • 搭建自己的个人网站第五届中国国际进口博览会开幕
  • 泰州企业做网站模板网站建设咨询
  • 网站投放广告费用南昌网站建设工作
  • 企业网站策划应该怎么做jsp网站开发四库
  • 软件开发还是网站开发好广州金山大厦 网站建设