我应该如何开始解决以下问题?
一块木块需要20秒才能打碎60块木头,但运行一个具有时间渐近性能Θ(nlogn)的算法。木块需要多少时间来装满5000块木头?
我不知道如何解决此问题,因为我不知道有关g(n)
的函数Θ(g(n))
的任何信息。
它来自我的c ++类练习表,在阵列,搜索和排序章节下。
答案 0 :(得分:0)
无法从问题中的数据中确定任何内容。
“渐近性能”的概念和名称Θ(nlogn)谈论n
算法的运行时间大于某个未知常数(通常用N
表示)。那就是:
存在常量
N
,c1
和c2
,对于大于n
的每个N
,运行时间T(n)
满足{ {1}}。
但是,您不知道N的值,因此您不知道60或5000是否大于c1 * n * log(n) < T(n) < c2 * n * log(n)
。