一、递归要点
递归最大的两个特点:
调用自身
结束条件
斐波那契数列:
def fib(n):
'''裴波那契'''
f = [1,1]
for i in range(2, n+1):
f.append(f[-1]+f[-2])
print(f)
return f[n]
fib(5)
# 递归方式实现 生成前20项
lis =[]
for i in range(20):
if i ==0 or i ==1:#第1,2项 都为1
lis.append(1) else:
lis.append(lis[i-2]+lis[i-1])#从第3项开始每项值为前两项值之和
print(lis)
二、列表查找
1、列表查找:从列表中查找指定元素
输入:列表、待查找元素 输出:元素下标或未查找到元素
2、顺序查找:从列表第一个元素开始,顺序进行搜索,直到找到为止。返回找到的那个目标的索引
3、二分查找:从有序列表的候选区data[0:n]开始,通过对待查找的值与候选区中间值的比较,可以使候选区减少一半。
二分查找:时间复杂度是O(logn)
二分查找的前提:列表是有序的
切片的复杂读是O(n) #因为切的时候是赋值的
三、列表排序
1、列表排序
将无序列表变为有序列表
2、应用场景
各种榜单
各种表格
给二分查找用
给其他算法用
输入:无序列表
输出:有序列表
ps:上面还是斐波那契数列的变形
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://haodehen.cn/did162727