垃圾收集运行时成本的大O分析

时间:2010-09-20 10:10:56

标签: garbage-collection big-o

当在垃圾收集语言中推断运行时成本时,{n}(列表中元素的数量)等语句的成本是多少myList = null;?为了便于论证,请将列表视为单个链接的引用类型列表,不需要最终确定。

更一般地说,我正在寻找有关如何使用GC语言分析运行时成本的任何信息。

2 个答案:

答案 0 :(得分:0)

我自己的想法是,根据收集器的实现,成本可能是O(1)或O(n)。在标记和扫描收集器中,无法访问无法访问的对象,因此我可以想象没有与清除它们相关的成本。 (事实上​​,只是保持对象存活的成本持续存在,可能是通过使用代数来分摊的。)相反,在一个简单的引用计数收集器中,我可以很容易地想象它花费O(n)来进行清理......

在设计算法时,如何对此进行推理并不明显。

答案 1 :(得分:0)

我怀疑你可以假设该陈述的the amortized costs为O(1)。在实践中,这就是我所做的,而且我从未发现使我怀疑这种假设不正确的情况。