专注于 JetBrains IDEA 全家桶,永久激活,教程
持续更新 PyCharm,IDEA,WebStorm,PhpStorm,DataGrip,RubyMine,CLion,AppCode 永久激活教程

空间复杂度

一:空间复杂度:用来评估算法内存占用大小的问题

空间复杂度的表示方式:

1、 使用了几个变量:O(1);
2、 使用了长度为n的一位列表:O(n);
3、 使用了m/n行n列的二位列表:O(mn)/O(n**2);

公司一般采取的策略是“空间换时间”===》怎么内存大小来降低网页或者应用的打开时间/访问时间。

二:递归:

递归的特点:1). 调用自身 2). 结束条件

 #当我们输入3的时候,一下代码的打印结果是什么?
 def func1(x):
     if x >0:
         print(x)
         func1(x-1)
 #--------------------------------
 def func2(x):
     if x >0:
         func2(x-1)
         print(x)
 #--------------------------------     


由上图可知:func1函数打印出来的是3、2、1;func2函数打印出来的是1、2、3(其中比较大的空白是递归)。

三:汉诺塔介绍及问题

汉诺塔的递归问题:

 def hanio(n,a,b,c):
     if n > 0:
         hanio(n-1,a,c,b)
         print("moving %s to %s" %(a,c))
         hanio(n-1,b,a,c)

结果:

moving A to C
moving A to B
moving C to B
moving A to C
moving B to A
moving B to C
moving A to C

文章永久链接:https://tech.souyunku.com/20729

未经允许不得转载:搜云库技术团队 » 空间复杂度

JetBrains 全家桶,激活、破解、教程

提供 JetBrains 全家桶激活码、注册码、破解补丁下载及详细激活教程,支持 IntelliJ IDEA、PyCharm、WebStorm 等工具的永久激活。无论是破解教程,还是最新激活码,均可免费获得,帮助开发者解决常见激活问题,确保轻松破解并快速使用 JetBrains 软件。获取免费的破解补丁和激活码,快速解决激活难题,全面覆盖 2024/2025 版本!

联系我们联系我们