- 递归算法的时间复杂度。
循环算法也可以看出简单的递归算法,不用递归算法也可以解决。
递归算法如下的算法模式:
def recur(n):
if n==0;
return g(....)
somework
for i in range(a):
X=recur(n/b)
somework
somework
- 例子1
data[]
while 还有数据:
x=下一个数据
data.insert(0,x)#把新数据加入到表的最前面中。
或者
data[]
while 还有数据:
x=下一个数据
data.insert(len(date),x) #新数据加入到表的最后面,或者写成data.append(x)
这两种写法的时间复杂度不同:
前一种时间复杂度为:O(n^2)后一种时间复杂度为:O(n)。
- 例子2
表示一个从0到10000*n-1的整数值。以下代码都可以完成。
def test1(n):
lst=[]
for i in range(n*10000):
lst=lst+[i]
return lst
def test2(n):
lst=[]
for i in range(n*10000):
lst.append(i)
return lst
def test3(n):
return [ for i in range(n*10000)]
def test4(n):
return lst(range(n*10000))