如何确定使用bigO表示法所花费的时间?

时间:2018-12-12 14:03:01

标签: big-o

例如,对于O(N),如果n = 5; 我们可以说这个函数理想地需要5毫秒的时间来执行吗?既然是计时的记号,我认为它应该像这样说更多的时间。

2 个答案:

答案 0 :(得分:0)

不,不是这样的。这是一种表示要根据不同数量的数据增加时间的趋势的一种表示法,而不是指示一次操作需要花费多长时间。

例如,在Java中,对于非常小的集合大小,使用HashMap可能比使用TreeMap慢。建立数据结构有一定的开销,您必须计算每个项目的哈希,依此类推。但是由于从HashMap插入和检索项目是O(1)(也称为“恒定时间”;它不会根据集合大小而变化),而从TreeMap插入和检索为O(ln n)(时间随着集合大小的对数增长),在集合变得非常大之前,HashMap将变为快点。

答案 1 :(得分:0)

这取决于编程语言和计算机的功能。您无法确切确定所需的时间。因为使用不同的语言,相同的过程(即分配)可能会花费不同的时间。但是您可以使用计时器来衡量流程花费的时间。