两种递归
形式看起来差不多,不过是思考的方式不一样。
逐步构造,是 自底向上考虑。 这种感觉更适合 从简单到 复杂的推导
list1 = [1,2,3,4,5,6]
all_set = set()
def getSet(index):
if index ==-1:
set1 =set()
set1.add("")
return set1
setLast = getSet(index-1)
setNew = set()
for i in setLast:
setNew.add(i+str(list1[index]))
setNew.add(i)
return setNew
print(list1)
dfs是自顶向下思考。
给我一个 子集,我能对他做什么 然后提交给下一层。
list1 = [1,2,3,4,5,6]
all_set = set()
def dfs(str1,index):
if index == len(list1):
all_list.append(str1)
return
dfs(str1+str(list1[index]),index+1)
dfs(str1,index+1)
print(list1)