我计算了算法的实际时间(以毫秒为单位)。 我绘制了一张图表,比较了我的算法在Milli-Seconds(y轴)到' n'(x轴)所用的实际时间,其中n是树I中节点的数量#39;正在努力。
如果我的算法理想情况下应该具有O(log(n))复杂度,那么如何将此图与O(log(n))相关联。
答案 0 :(得分:3)
假设您的算法在O(log n)中,图表应该进行比较。但是,不要为log n
绘制k * log n + c
,k
和c
需要k
。
常量c
描述算法的单个步骤的持续时间,而n
汇总所有常量(初始化)成本。
根据您想要实现的目标和算法/实现,您可能会看到处理器缓存未命中,垃圾收集或类似内容增加 INSERT INTO A(desc, date)
VALUES (
SELECT B.desc, B.date
FROM B,C
WHERE B.task=C.keyid AND C.type='1'
)
等效果。
答案 1 :(得分:1)
如果您可以保存n,log(n),runtime(n)
:
您可以使用3种可视化方法(我使用Excel,因为它简单快捷):