当前位置: 首页剑指offer刷题第六期问题详情 【阅读补充】时间/空间复杂度如何计算? 本问题对应课程链接:剑指offer刷题第六期 我看有部分同学在打卡区说不大知道时间/空间复杂度怎么计算,一般大部分解法还是很好计算的哦,如果你对这方面的概念比较模糊,那么可以看一下这个文章哦:漫画:别在什么是时间复杂度?
共以下 33 个回答
时间:主要取决于循环嵌套层数、二分二叉树等取决于查找时间的求和
空间:取决于额外申请的内存和数据规模的关系
时间:主要取决于数据规模n和循环嵌套层数。
空间:主要取决于额外申请的空间大小。
会
打卡
时间复杂度:程序基本执行语名与数据规模的关系表达式
空间复杂度:程序执行中变量的个数与额外申请的空间的关系表达式
时间复杂度:基于代码中循环嵌套的层数,层数越多代表复杂度越高。
空间复杂度:占用的内存大小?比如需要存储一个n的数组,空间复杂度就是O(n)
打卡
打卡
打卡
1.代码运行时间,看每个语句运行多少个时间单元
2.时间复杂度:严格上就是去计算每个程序语句的运行时间单元,进行相加。最后进行简化。
3.时间复杂度的简化计算:查看运行次数最多的程序语句方程,
4.logn的含义:2^x=n, 那么x=logn
打卡
打卡
打卡
打卡
时间复杂度:基于代码中循环嵌套的层数,层数越多代表复杂度越高。
空间复杂度:占用的内存大小?比如需要存储一个n的数组,空间复杂度就是O(n)
空间复杂度不太熟
打卡
打卡
打卡
打卡
时间复杂度是一个估算值,主要是用来衡量算法的性能的,大概计算下代码执行的条数(主要是循环),然后取最高阶项
打卡
打卡
打卡
打卡
打卡
打卡
1. 算法时间复杂度可以表示某个算法运行时间的趋势,大致的度量算法效率的好坏。
2. 一般来说,最内层执行次数最多的语句就决定了整个算法的趋势。
打卡
打卡
~~~ 打卡
打卡此问题
时间复杂度要看对程序运行时间影响最大的部分,通常是循环内层的语句执行次数n,一层循环的时间复杂度为O(n);两层循环的时间复杂度为O(n^2);当循环条件为sum=1;n>sum,循环内为sum=sum*2时,此时设循环语句共运行x次n=2^x。解得:x = log_2(n),那么此时时间复杂度为O(log(n))