python算法与数据结构(9)栈溢出和时间复杂度

1 栈溢出

def infinite_fib(n):
    return infinite_fib(n-1) + infinite_fib(n-2)

if __name__ == '__main__':
    infinite_fib(10)

因为无穷递归栈溢出报错:RecursionError: maximum recursion depth exceeded
2 时间复杂度
2n^2
n+n^2
1常用时间复杂度

1 常量时间 一次赋值
logn 对数时间 折半查找
n 线性时间 线性查找
nlogn 对数线性时间 快速排序
n^2 平方 两重循环
n^3 立方 三重循环
2^n 指数 递归求斐波那契数列、
n! 阶乘 旅行商问题
2空间复杂度
原地操作两个位置的元素,
有些操作需要申请额外空间完成算法。
布隆过滤
在这里插入图片描述
3时间换空间,空间换时间
空间换时间:python 中集合,浪费空间,但是可以0(1)。
时间换空间:空间不够用,就是缓存失效算法,不能缓存无限容量数据,会使用缓存淘汰算法保证空间可用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值