首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何计算算法的时间和空间复杂度

如何计算算法的时间和空间复杂度
EN

Stack Overflow用户
提问于 2010-12-15 19:33:40
回答 3查看 6.1K关注 0票数 3

如何在java中计算算法的空间和时间复杂度。

使用System.nanoTime()执行的总时间是否等于任何算法或函数的时间复杂度?

例子:斐波那契数列中第n个数的空间和时间复杂度估计

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-15 19:50:06

时间复杂度是理想化机器上可伸缩性的理论指标。(这是关于算法,而不是机器)

System.nanoTime()将告诉您特定的数据输入在特定的机器上花费了多长时间,处于特定的状态。

时间复杂度更适合计算出最坏的情况值,如果您有特定的用例需要考虑,则测量更有用。

票数 5
EN

Stack Overflow用户

发布于 2010-12-15 19:49:34

使用System.nanoTime()执行的总时间是否等于任何算法或函数的时间复杂度?

不是的。在计算程序的复杂性顺序时,通常使用Big-O表示法。Here是您需要了解的所有内容。举例说明。

票数 2
EN

Stack Overflow用户

发布于 2010-12-15 20:24:56

首先,你必须定义算法的基本操作。设置一个计数器来计算基本运算工作了多少次,直到你的算法完成工作。尝试将这个计数器表示为n。在斐波那契级数中,基本运算是加法(将最后两个元素相加得到下一个)要计算第n个数,必须进行n-1相加。因此,斐波那契级数的复杂度为O(n)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4449426

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档