高级算法设计与分析
QRick
Unsupervised Learner
展开
-
整数划分-python实现-高级算法设计与分析-递归与分治章节
整数划分例子:对1进行整数划分1=1有一种例子:对2进行整数划分2=1+12=2有两种例子:对3进行整数划分3=33=1+23=1+1+1有三种例子:对4进行整数划分4=44=3+14=2+24=1+1+1+1原创 2020-10-17 14:18:32 · 821 阅读 · 1 评论 -
全排列与子集-python实现-高级算法设计与分析-递归与分治章节
全排列话不多说,直接上代码x=[1,2,3]def get_pailie(x,res): if len(x)==0: print(res) return for i,item in enumerate(x): get_pailie(x[0:i]+x[i+1:],res+[item])全子集#全子集x=[1,2,3]def get_ziji(x): res=[[]] for i in x: re原创 2020-10-14 15:49:45 · 143 阅读 · 0 评论 -
汉诺塔问题-python实现-高级算法设计与分析-递归与分治章节
汉诺塔(必考)规则每次只能移动一共盘任何时刻都不能将大的圆盘放小圆盘上满足1 2的情况下可以随便移动目标:把a上的盘移到b探索汉诺塔的规则我们先从简单的1个盘,2个盘,3个盘来探索下汉诺塔的过程假设圆盘在a柱上从上到下的初始编号为1~n当个数为1时候 移动步骤为第一步:1号盘 a->b当个数为2时候 移动步骤为第一步:1号盘 a->b第二步:2号盘 a->c当个数为3时候 移动步骤为第一步:1号盘 a->b第二步:2号盘 a-原创 2020-10-14 15:42:22 · 224 阅读 · 1 评论