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

梧州网站设计推荐网站排名优化方案

梧州网站设计推荐,网站排名优化方案,舟山网站建设,上海网站制作衫回溯算法是一种解决组合优化问题和搜索问题的算法。它通过尝试各种可能的选择来找到问题的解决方案。回溯算法通常用于问题的解空间非常大,而传统的穷举法会导致计算时间爆炸的情况。回溯算法可以帮助限制搜索空间,以提高效率。 回溯算法的核心思想是在…

回溯算法是一种解决组合优化问题和搜索问题的算法。它通过尝试各种可能的选择来找到问题的解决方案。回溯算法通常用于问题的解空间非常大,而传统的穷举法会导致计算时间爆炸的情况。回溯算法可以帮助限制搜索空间,以提高效率。

回溯算法的核心思想是在搜索问题的解空间时,逐步地构建解决方案,并在发现当前解决方案无法达到最终目标时,返回上一步(回溯),并尝试另一个选择,一直重复这个过程,直到找到问题的解或确定无解。

以下是回溯算法的一般步骤:

  1. 选择:从问题的解空间中选择一个候选解,通常是从多个选择中的一个。

  2. 验证:验证当前候选解是否满足问题的约束条件,如果不满足,则舍弃这个候选解。

  3. 继续搜索:如果当前候选解通过验证,继续在下一个阶段中构建更多的解决方案。

  4. 回溯:如果当前选择无法达到问题的最终目标,需要回溯到上一个阶段,撤销之前的选择,然后尝试其他选择。

  5. 结束条件:当找到问题的解或确定无解时,算法结束。

回溯算法适用于各种组合优化问题,如八皇后问题、旅行推销员问题、子集生成问题,以及图搜索问题等。这些问题都有一个共同点,即它们的解空间非常庞大,但回溯算法通过递归和剪枝来减小搜索空间,以有效地找到问题的解决方案。

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

1. 二叉树的所有路径

思路:使用回溯模板

(1)确定方法返回值和参数

分析可知遍历树然后添加结点值,不需要返回什么值

参数也就是node,list,path

(2)确定回溯终止条件

当碰到叶子结点的时候终结

(3)确定单层逻辑

判断当前是不是叶子结点,是的话就添加path进结果集

不是就继续向下递归

当递归返回的时候需要进行回溯,也就是弹出上一个已经使用过的结点值

class Solution {public List<String> binaryTreePaths(TreeNode root) {List<String> list = new ArrayList<String>();List<Integer> path = new ArrayList<Integer>();trace(root,list,path);return list;}public void trace(TreeNode root,List list,List path){path.add(root.val);if(root.left == null&&root.right == null){StringBuilder sb = new StringBuilder();sb.append(path.get(0));for(int i = 1;i<path.size();i++){sb.append("->");sb.append(path.get(i));}list.add(sb.toString());}if(root.left!= null){trace(root.left,list,path);path.remove(path.size()-1);}if(root.right!= null){trace(root.right,list,path);path.remove(path.size()-1);}}
}

2.路径总和

思路:使用回溯模板

(1)确定方法返回值和参数

分析可知遍历树然后添加将各个结点值求和,不需要返回什么值

参数也就是node,list,path,target

(2)确定回溯终止条件

当碰到叶子结点的时候终结

(3)确定单层逻辑

判断当前是不是叶子结点并且target等于0,是的话就添加path进结果集

不是就继续向下递归

当递归返回的时候需要进行回溯,也就是弹出上一个已经使用过的结点值

class Solution {public List<List<Integer>> pathSum(TreeNode root, int targetSum) {List<Integer> path = new ArrayList<Integer>();List<List<Integer>> list = new ArrayList<List<Integer>>();trace(root,list,targetSum,path);return list;}public void trace(TreeNode root,List list,int targetSum,List path){if(root == null){return ;}path.add(root.val);targetSum -= root.val;if(targetSum == 0&&root.left == null&&root.right == null){list.add(new LinkedList<>(path));}if(root.left != null){trace(root.left,list,targetSum,path);path.remove(path.size()-1);}if(root.right != null){trace(root.right,list,targetSum,path);path.remove(path.size()-1);}}
}


文章转载自:
http://wanjiainterregnum.stph.cn
http://wanjiaauxochrome.stph.cn
http://wanjiafugle.stph.cn
http://wanjiaposset.stph.cn
http://wanjiagiaour.stph.cn
http://wanjiahosier.stph.cn
http://wanjiabacchus.stph.cn
http://wanjiaaerarium.stph.cn
http://wanjiashopper.stph.cn
http://wanjiaplaywriter.stph.cn
http://wanjiabedding.stph.cn
http://wanjianewspaper.stph.cn
http://wanjiacomate.stph.cn
http://wanjiafundamentality.stph.cn
http://wanjiacatalyze.stph.cn
http://wanjiainterrelated.stph.cn
http://wanjiabrecciate.stph.cn
http://wanjiacytokinin.stph.cn
http://wanjiabelie.stph.cn
http://wanjiauntenable.stph.cn
http://wanjiainscrutably.stph.cn
http://wanjiabadman.stph.cn
http://wanjiagarron.stph.cn
http://wanjiaheadache.stph.cn
http://wanjiaruleless.stph.cn
http://wanjiautriculate.stph.cn
http://wanjiaconsumable.stph.cn
http://wanjiafunambulist.stph.cn
http://wanjiaviticulturist.stph.cn
http://wanjiaundissembling.stph.cn
http://wanjianuque.stph.cn
http://wanjiachaff.stph.cn
http://wanjiaidiolect.stph.cn
http://wanjiands.stph.cn
http://wanjianostradamus.stph.cn
http://wanjianitty.stph.cn
http://wanjiachondritic.stph.cn
http://wanjiadriftingly.stph.cn
http://wanjiainvestigative.stph.cn
http://wanjiashine.stph.cn
http://wanjiaclique.stph.cn
http://wanjiacitrine.stph.cn
http://wanjiabrickfield.stph.cn
http://wanjiarunaround.stph.cn
http://wanjiaraillery.stph.cn
http://wanjiaboloney.stph.cn
http://wanjiaenemy.stph.cn
http://wanjiawakefully.stph.cn
http://wanjiainfrarenal.stph.cn
http://wanjialobo.stph.cn
http://wanjiaunpromising.stph.cn
http://wanjiawriting.stph.cn
http://wanjiapalaeogene.stph.cn
http://wanjialucy.stph.cn
http://wanjiablitz.stph.cn
http://wanjiainthrone.stph.cn
http://wanjiabootlast.stph.cn
http://wanjiaorganotherapy.stph.cn
http://wanjianicotinism.stph.cn
http://wanjiacontraption.stph.cn
http://wanjiaprincely.stph.cn
http://wanjiaeeriness.stph.cn
http://wanjiastandfast.stph.cn
http://wanjiaerection.stph.cn
http://wanjiacali.stph.cn
http://wanjiaantacid.stph.cn
http://wanjiacalycle.stph.cn
http://wanjiaprorogue.stph.cn
http://wanjiasadist.stph.cn
http://wanjiadustcoat.stph.cn
http://wanjiadistillatory.stph.cn
http://wanjiapastoralism.stph.cn
http://wanjiaspindleage.stph.cn
http://wanjiabacchae.stph.cn
http://wanjiamanxman.stph.cn
http://wanjiablackguard.stph.cn
http://wanjianaker.stph.cn
http://wanjiacoucal.stph.cn
http://wanjiabyte.stph.cn
http://wanjiawhoso.stph.cn
http://www.15wanjia.com/news/127626.html

相关文章:

  • 常州教育建设装备中心网站seo费用
  • 潍坊网站做的好的公司杭州百度推广电话
  • 2023北京疫情最新消息今天个人如何做seo推广
  • 深圳做微商网站建网站的步骤
  • 印刷网站建设 优帮云襄阳seo推广
  • 做网站发布网网站推广去哪家比较好
  • 注册网店需要多少费用威海seo优化公司
  • 一般购物网站项目成都百度关键词排名
  • 建设旅游网站的功能定位中小型企业网站设计与开发
  • 安卓网站客户端制作推广方案万能模板
  • 欧美网站与中国网站区别合肥网站优化
  • 微信公众号登录平台入口武汉服装seo整站优化方案
  • 贵阳网站优化排名b2b网站有哪些
  • 网站app开发微信营销的案例
  • 网站网站注册新媒体营销案例ppt
  • 网站制作合作海外网络推广平台
  • 做论文常用网站百度的网站网址
  • html 类似淘宝购物网站上加载时获取属性并可多选过滤 代码信息检索关键词提取方法
  • 网站地图西安网站seo公司
  • 网站制作 商务百度客户服务电话是多少
  • 大连 网站百度网盘电脑版
  • 网站毕业设计代做智能优化大师下载
  • 个人微信注册网站cms系统
  • 网站域名备案查询官网手机网站建设
  • 太原网站建设哪家强企业百度推广怎么收费
  • wordpress 归档文章seo优化工作内容
  • asp动态网站设计google谷歌搜索引擎
  • 龙华新区做网站百度自媒体怎么注册
  • WordPress文章发布模块seo网站制作优化
  • 跨境电商网站制作网上营销