尺寸: 1000 ,时间: .1138 ,每项操作: .0001138
尺寸: 2000 ,时间: .4586 ,每项操作: .0002293
尺寸: 4000 ,时间: 1.904 ,每项操作: .0004760
尺寸: 8000 ,时间: 7.456 ,每项操作: .0009320
- > 复杂性类(每个操作):每次大小增长2倍时,时间增长4倍。我相信这是O(N ^ 2)。
在修改了一些类以查看性能如何变化之后,下一组是下一组。
尺寸: 1000 ,时间: .1266 每项操作: .0001266
尺寸: 2000 ,时间: .5366 每项操作: .0002683
尺寸: 4000 ,时间: 2.221 每项操作: .0005552
尺寸: 8000 ,时间: 8.811 每项操作: .0011013
- > 复杂性类(每个操作):每次大小增加2时,时间增加4,因此这也是O(N ^ 2)的复杂性类别?
答案 0 :(得分:0)
你的答案是不一致的 - 每个操作的时间复杂度实际上是O(N);但总时间复杂度类确实是O(N ^ 2)
更简单的检查方法是绘制log(时间)与log(大小)的关系图,并计算梯度。这样做可以避免必须处理乘法常数。
对于第一组Excel给出O(N ^ 2.031),对于第二组O(N ^ 2.082)。非常接近模型值。