作为一项作业,我实现了一个自定义数据结构和一些测试用例,以确保它正常工作。 该问题实际上并不需要代码本身,但您可以假设它是某种 SortedList。 我的问题是我还被要求测试大 O 复杂性,例如确保 put() 是 o(n) 等。
我很难理解如何编写这样的测试。
我想到的一种方法是使用一个简单的计数器来计算 put() 方法内的迭代次数,然后检查它是否等于列表的大小,但这需要我更改以下代码列表本身来计算确切的数字,我更愿意在类之外以正确的方式进行计算,只保存它的一个实例。
有人有什么想法吗?我非常感谢您的帮助!
最佳答案
通过单元测试,您可以测试类的接口(interface),但迭代次数不是此处接口(interface)的一部分。您可以使用计时器来检查不同大小的运行时行为。如果是 O(n),时间和 n 之间应该存在线性依赖关系。
关于java - 测试自定义数据结构的大复杂性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819913/