- 3
- 0
- 约小于1千字
- 约 10页
- 2026-06-10 发布于山东
- 举报
算法设计与分析本节要点CONTENTS组合
组合给定两个整数n和r,按照字典序输出自然数1到n中所有的r个数的组合。例如n=4,r=2,所有组合为:[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]。
问题分析:本题是一个组合问题。组合不区分次序,[1,2]和[2,1]是一样的,而对于排列,[1,2]和[2,1]是不同的。本题要求枚举1~n区间中r个数的所有组合。组合
例如,求解[1,2,3,4]中所有的2个数的组合。组合
在回溯法中,使用for循环实现横向枚举,使用递归实现纵向扩展。(1)横向枚举开始:第一层枚举的开始为1,其它层枚举的开始为上一层选择的数字i再加上1,例如上一层选择的数字i=2,则当前层从3(i+1)开始枚举。结束:因为要选择r个数的组合,当余下的数不够r个时,就不需要枚举了。上图中需要选择2个数,第一层的最后一个分支已经不够2个数,无需枚举。因此枚举的结束位置为n-r+1。组合
(2)纵向扩展在第一层,原问题是从1~n区间中选择r个数;在第二层,子问题变为从i+1~n区间中选择r-1个数,…,当k=0时,到达叶子,将递归过程中收集到的r个数作为一个组合放入答案数组中。组合
(1)递归函数的参数2个参数:r,start,表示选择r个数,当前枚举的起点为start。(2)递归函数的结束条件从第一层开始,从区间中选择r个数,
您可能关注的文档
最近下载
- 阿法拉伐分油机中文说明Operating instructions.pdf VIP
- 行业分析报告:高端金属合金-镍基合金行业_镍基合金行业all.docx
- 铁路道岔培训.doc VIP
- 《民法典》视野下的遗嘱、意定监护和信托.pptx VIP
- 光的折射作图训练.docx VIP
- 苏州科技大学天平学院《材料力学》2022-2023学年第一学期期末试卷.doc VIP
- 苏州科技大学天平学院《材料力学》2021-2022学年第一学期期末试卷.doc VIP
- 北京市朝阳区小学2023年四年级数学第二学期期末教学质量检测试题含解析.doc VIP
- 2025年河北法官入额考试真题附参考答案详解(培优).doc VIP
- 道路客运汽车驾驶员题库与参考答案.docx VIP
原创力文档

文档评论(0)