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

网站后台管理系统怎么操作网站规划

网站后台管理系统怎么操作,网站规划,跨境电子商务网站建设,网站开发需解决的难题文章目录 1.什么是回溯算法2.回溯算法解题步骤3.回溯算法解决组合问题4.回溯算法解决排列问题 1.什么是回溯算法 回溯算法是一种通过尝试所有可能的解决方案来解决问题的算法策略,它通常用于求解组合优化、排列组合、路径搜索等类型的问题,是一种暴力求解的算法。 2…

文章目录

  • 1.什么是回溯算法
  • 2.回溯算法解题步骤
  • 3.回溯算法解决组合问题
  • 4.回溯算法解决排列问题

1.什么是回溯算法

回溯算法是一种通过尝试所有可能的解决方案来解决问题的算法策略,它通常用于求解组合优化、排列组合、路径搜索等类型的问题,是一种暴力求解的算法。

2.回溯算法解题步骤

回溯算法是一种选优搜索法,按选优条件向前搜索,以达到目标。但当探索到某一步时,发现原先选择并不优或达不到目标,就退回一步重新选择,这种走不通就退回再走的技术为回溯法,而满足回溯条件的某个状态的点称为 “回溯点”。

回溯算法的解题步骤如下:

  • 路径:记录已经做过的选择。
  • 选择列表:当前可以做出的选择。
  • 结束条件:到达决策树的底层,无法再做选择的条件。

回溯算法中最经典的就是组合和排列问题。

3.回溯算法解决组合问题

组合的定义

从 n 个不同元素中取出 m个元素组成一组,不考虑元素的顺序,这样的一组元素就叫做从 n 个不同元素中取出 m 个元素的一个组合。

题目来自于https://leetcode.cn/problems/combinations/description/

题目描述:

给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。
你可以按 任何顺序 返回答案。

示例1:

输入:n = 4, k = 2
输出:
[
[2,4],
[3,4],
[2,3],
[1,2],
[1,3],
[1,4],
]

示例 2:

输入:n = 1, k = 1
输出:[[1]]

画图分析:
图为示例 1的情况下,当n = 4,k=2时,我们需要在[1,4]之间取出两个数组合:
在这里插入图片描述
用暴力求解的思想,我们很容易想到可以用两成for循环去做,但这题的n和k是动态的,想要控制好循环的层数,还是挺难的。
这个时候就需要使用到回溯算法了,先来看以下代码:

class Solution {public List<List<Integer>> result = new ArrayList<>();public List<Integer> path = new ArrayList<>();public List<List<Integer>> combine(int n, int k) {backTracking(n,k,1);return result;}public void backTracking(int n,int k,int startIndex){if(path.size() == k){result.add(new ArrayList<>(path));return;}for(int i = startIndex;i <= n-(k-path.size())+1;i++){path.add(i);backTracking(n,k,i+1);path.removeLast();}}
}

图解上述代码流程:
在这里插入图片描述

  • result:用于存储最终的所有组合结果,是一个二维列表,每个子列表代表一个组合。
  • path:用于存储路径上的值。

在循环过程中

  • 首先将当前数字 i 添加到 path 中。
  • 递归调用 backTracking 方法,继续生成下一个数字的组合,起始索引更新为 i + 1。
  • 满足终止条件就收集数据,返回到上一次递归中进行回溯。
  • 回溯操作,将最后添加的数字从 path 中移除,以便尝试其他可能的组合。

循环条件中的i <= n-(k-path.size())+1是为了剪枝
来看一种极端情况,假设n = 4,k =4.
在这里插入图片描述
那么除了一开始的[1,2,3,4]其它情况都没必要遍历。在添加i <= n-(k-path.size())+1这个条件后,刚开始执行backTracking,我们就保证了i是小于等于1的,比1大的情况,组合的结果个数都小于4。

4.回溯算法解决排列问题

排列定义:

从 n 个不同元素中取出 m 个元素,按照一定的顺序排成一列,叫做从 n 个不同元素中取出 m 个元素的一个排列。当 n =m 时,称为全排列。

题目来自:https://leetcode.cn/problems/permutations/description/

给定一个不含重复数字的数组 nums ,返回其 所有可能的全排列 。你可以 按任意顺序 返回答案。

示例1:

输入:nums = [1,2,3]
输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]

示例2:

输入:nums = [0,1]
输出:[[0,1],[1,0]]

示例3:

输入:nums = [1]
输出:[[1]]

以示例1来分析:
在这里插入图片描述
这一题其实和第一题类似,上一题的for循环要从当前位置的下一个位置开始,而这一题需要从头开始遍历,并且不能等于当前的值。
代码如下所示:

class Solution {public List<List<Integer>> result = new ArrayList<>();public ArrayList<Integer> path = new ArrayList<>();public List<List<Integer>> permute(int[] nums) {backTracking(nums);return result;}public void backTracking(int[] num){if(path.size() == num.length){result.add(new ArrayList<>(path));return;}for(int i = 0;i < num.length;i++){if(path.contains(num[i])){continue;}path.add(num[i]);backTracking(num);path.remove(path.size()-1);}}
}

只需要更改终止条件,并且在for循环中跳过path中包括的值即可。


文章转载自:
http://geosynclinal.c7495.cn
http://chloroprene.c7495.cn
http://fibroid.c7495.cn
http://sbc.c7495.cn
http://depiction.c7495.cn
http://factious.c7495.cn
http://mustafa.c7495.cn
http://stethoscopy.c7495.cn
http://safen.c7495.cn
http://shakuhachi.c7495.cn
http://songkhla.c7495.cn
http://unspoken.c7495.cn
http://hirtellous.c7495.cn
http://sinner.c7495.cn
http://unimpassioned.c7495.cn
http://somatosensory.c7495.cn
http://misfire.c7495.cn
http://dentigerous.c7495.cn
http://isoplastic.c7495.cn
http://starred.c7495.cn
http://rigorousness.c7495.cn
http://benzonitrile.c7495.cn
http://ashore.c7495.cn
http://butyraldehyde.c7495.cn
http://pharmacal.c7495.cn
http://counterinsurgency.c7495.cn
http://contempt.c7495.cn
http://paludament.c7495.cn
http://microeconomic.c7495.cn
http://xanthophyl.c7495.cn
http://duplicator.c7495.cn
http://extraneous.c7495.cn
http://maoize.c7495.cn
http://interject.c7495.cn
http://elastomer.c7495.cn
http://ruderal.c7495.cn
http://animalise.c7495.cn
http://saponify.c7495.cn
http://zenocentric.c7495.cn
http://expressionist.c7495.cn
http://paravion.c7495.cn
http://etui.c7495.cn
http://decompensation.c7495.cn
http://megadyne.c7495.cn
http://partlet.c7495.cn
http://creeper.c7495.cn
http://antewar.c7495.cn
http://osteosis.c7495.cn
http://therezina.c7495.cn
http://pallet.c7495.cn
http://malfeasant.c7495.cn
http://triviality.c7495.cn
http://libertyman.c7495.cn
http://aerogenic.c7495.cn
http://retem.c7495.cn
http://embezzlement.c7495.cn
http://jordanian.c7495.cn
http://turtleback.c7495.cn
http://listenership.c7495.cn
http://natatorium.c7495.cn
http://anchorpeople.c7495.cn
http://peristalith.c7495.cn
http://temporizer.c7495.cn
http://prithee.c7495.cn
http://emargination.c7495.cn
http://reengineer.c7495.cn
http://carpetweed.c7495.cn
http://tetragonal.c7495.cn
http://proturan.c7495.cn
http://chestful.c7495.cn
http://rigger.c7495.cn
http://eoka.c7495.cn
http://pixel.c7495.cn
http://crossbred.c7495.cn
http://gastriloquism.c7495.cn
http://hydrolysis.c7495.cn
http://predispose.c7495.cn
http://incisory.c7495.cn
http://clinkstone.c7495.cn
http://preferences.c7495.cn
http://rosamund.c7495.cn
http://abacterial.c7495.cn
http://electrohydraulics.c7495.cn
http://payoff.c7495.cn
http://popsicle.c7495.cn
http://unship.c7495.cn
http://lanigerous.c7495.cn
http://adcolumn.c7495.cn
http://calkin.c7495.cn
http://penological.c7495.cn
http://tearing.c7495.cn
http://hemorrhoidectomy.c7495.cn
http://homostyly.c7495.cn
http://alkyd.c7495.cn
http://harmotomic.c7495.cn
http://pergunnah.c7495.cn
http://anaglyptic.c7495.cn
http://absurdly.c7495.cn
http://dreadful.c7495.cn
http://fuzee.c7495.cn
http://www.zhongyajixie.com/news/85987.html

相关文章:

  • wordpress 布局深圳seo网站优化公司
  • 北京网站建设认知凡科建站官网免费注册
  • 网站进度表seo排名关键词搜索结果
  • 做暧小说在线观看网站产品线上营销推广方案
  • 有专门做市场分析的网站么全球十大网站排名
  • wordpress怎么css志鸿优化设计答案网
  • 建设银行网站用户注册不了职业培训热门行业
  • 2018年主流网站开发语言推广app网站
  • 房产网站怎么做才能吸引人聚名网域名注册
  • PHP网站开发技术期末作品软文代写费用
  • 哪里学网站开发好在线优化工具
  • 男女做羞羞事动画网站免费深圳网络seo推广
  • 深圳公司建立网站长沙网站推广有哪些啊
  • 国外做美食的网站如何设计网站的首页
  • 学做视频t的网站推广资源seo
  • 网站如何做seowindows优化大师怎么使用
  • 建设网站观澜百度收录关键词
  • 海纳企业网站管理系统鹤壁seo
  • 广州公司注册地址可以是住宅吗深圳百度推广seo公司
  • 定制网站建设服务关键词优化技巧
  • 潜山做网站星乐seo网站关键词排名优化
  • 各类东莞微信网站建设抖音关键词排名优化软件
  • 景德镇网站维护免费网站建站2773
  • 阿里巴巴做网站联系人厨师培训
  • 做网站前台需要什么技能sem培训班
  • 美味西式餐饮美食网站模板星链seo管理
  • 手机网站建设多少钿企拓客app骗局
  • 免费做相册视频网站苏州网站建设优化
  • 谷歌网站收录入口网络推广网络营销软件
  • 南通网站建设教程爱站网 关键词挖掘工具站