当推理垃圾收集语言中的运行时成本时,诸如以下语句的成本是多少:myList = null;
用“n”(列表中的元素数量)表示?为了便于论证,请将该列表视为引用类型的单链表,无需终结。
更一般地说,我正在寻找有关如何使用 GC 语言分析运行时成本的任何信息。
我自己的想法是,成本可能是 O(1) 或 O(n),具体取决于收集器的实现。在标记和清除收集器中,根本无法到达无法访问的对象,因此我可以想象清除它们不会产生任何成本。 (事实上,仅仅让对象保持活动状态就存在持续的成本,大概可以通过使用代数来摊销。)相反,在一个简单的引用计数收集器中,我可以很容易地想象它花费 O(n) 来进行清理......
对我来说,在设计算法时如何推理这一点并不明显。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)