使用AVL树的应用程序的操作是O(log N)时间。大概需要50 在10,000个元素的集合上运行的毫秒数。你会期待多长时间 采取运行100,000个元素的集合?
答案 0 :(得分:2)
您无法猜测使其在较大的集合上运行所需的时间,因为您必须考虑应用程序的所有常量计算成本(即加载,预处理等......)
但是,你可以找到一个上限:log(10000)= 4,log(100000)= 5,所以你可以期望它在不到5/4 * 50 = 62.5 ms的时间内运行,只要你已经达到了渐近行为。
无论如何,O(log N)是一种非常有效的复杂性,你的算法应该能很好地扩展到大型实例。
答案 1 :(得分:0)
要处理N个元素,您需要大概的时间
T ~ C * N * log (N)
for 10000:
50 ms = C * 10^4 * log(10^4) = C * 4 * 10^4 * log(10)
C = 50ms / (4 * 10^4 * log(10))
表示100000:
T ~ 50ms / (4 * 10^4 * log(10)) * 5 * 10^5 * log(10)
T ~ 50ms * 5 * 10 / 4 = 625 ms
所以你会期待大约625毫秒的时间