问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python递归的一个小问题

发布网友 发布时间:2022-04-18 21:39

我来回答

1个回答

热心网友 时间:2022-04-18 23:08

perm函数输出的是参数list从参数k位置开始,到参数m位置结束的全排列
def perm(list,k,m):
if k==m:
for i in range(m+1): # 递归的结束条件是k==m,在整个递归过程中参数m(即结束位置没有改变),而参数k则每次递归+1
print list[i], # 输出递归结束时的list状态
print
else:
for i in range(k,m+1): # 该循环用来负责生成递归的下一个状态
list[k],list[i]=list[i],list[k] # 将list的k位置与每一个位置i分别交换
perm(list,k+1,m) # 由于k位置与每一个位置i交换,也即k位置所有可能选值都已被穷举,此时只需要继续计算k+1之后的职位即可,因此以k+1为开始位置,结束位置m不变进入下一层递归
list[k],list[i]=list[i],list[k] # 由于list是引用传递,因此需要在位置交换之后重新交换,以保证list不变
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
妇科的止血药有哪些 妇科用的止血药有哪些 妇科止血药的功效 人艰不拆是啥意思 汉酱51 度酱香型白酒多少钱?味道怎么样? 穿凉鞋可以穿袜子吗?凉鞋发黄怎么变白? 爱奇艺vip投屏限制怎么办 爱奇艺vip投屏视频限制怎么解决 支付宝怎样解除关联的支付宝账号? 剑圣叫什么名字 ...政策?这个政策的目的是什么?会对经济有什么影响? 金正大股票为什么跌得这么凶? - 信息提示 独立战争中美军取得那两次重要战役的胜利 火灾发生时,以下几种逃生方法哪种是不正确的?( ) 美国历史上的两次战争起了什么作用 1812年美国战争 在历史上,美国曾经是否与哪个国家有过领土纠纷? 美国独立战争胜利的意义 美国独立战争的胜利有什么意义? 美国独立战争的胜利说明了什么?求大神帮助 1812年战争为什么也叫美国第二次独立战争? 了解历史的哥哥姐姐进来看一下....小妹急需帮助 美国第二次独立战争产生了什么影响 第二次英美战争到底为什么而爆发呢?英美双方在这场战争中又收获了什么呢? 美国第二次独立战争如何以惨败收场? 美国独立战争取得胜利的原因有包括那些 美国第二次独立战争影响是什么? 美国第二次独立战争 从南宁去青海湖经过多少个城市 南宁到青海湖飞机票价、时间,大概在六月 华为荣耀8手机密码忘了怎么办 电脑上怎样把两页纸做成一页 小神童洗衣机无法脱水 小神童洗衣机不脱水 梦见包包里面的账本丢了 办公室人员梦见自己的账本儿丢了? 期末“主营业务收入”账户更换新账簿,新旧账户之间转记余额,该项会计事项处理时,要编制记账凭证吗? MAX 和FORCE气垫有啥区别? MAX FORCE 是什么品牌?中文名是什么? Air Max和Force的区别。 美国猛力牌(MAXFORCE)杀蟑药饵哪里有售 g-force max什么意思 汽车 那里有卖正品耐克AIR MAX FORCE S.T.A.T小斯战靴白黑 丰田在美注册i-Force MAX发动机 或搭载新一代坦途 3D MAX中的强制渲染线框(Force Wireframe)在哪 3DMAX2009 XFORCE算号器 德高防水怎样做最好 德高防水材料 大连电视台5台今天晚7点播放的电视剧名字是啥 金百达固态硬盘