我尝试在Python中生成灰色代码。此代码工作正常。问题是我在函数中初始化基本情况(n=1,[0,1]
)main
并将其传递给gray_code
函数以计算其余部分。我想在函数本身内生成所有灰色代码,包括基本情况。我怎么做?
def gray_code(g,n):
k=len(g)
if n<=0:
return
else:
for i in range (k-1,-1,-1):
char='1'+g[i]
g.append(char)
for i in range (k-1,-1,-1):
g[i]='0'+g[i]
gray_code(g,n-1)
def main():
n=int(raw_input())
g=['0','1']
gray_code(g,n-1)
if n>=1:
for i in range (len(g)):
print g[i],
main()
是这个算法的递归关系T(n)=T(n-1)+n
吗?