这个图表说明时间复杂度是什么?

时间:2015-05-05 16:17:33

标签: c++ sorting time graph time-complexity

- X ------ Y--
0.035 1000
0.089 2000
0.183 3000
0.315 4000
0.502 5000
0.693 6000
0.925 7000
1.222 8000
1.630 9000
1.998 10000
2.234 11000
2.651 12000
3.096 13000
3.667 14000
4.328 15000
4.865 16000
5.496 17000
6.288 18000
7.037 19000
8.036 20000
19.032 30000
34.167 40000
54.505 50000

这里的Y对应于no。将随机元素作为输入,使用C ++中的time函数计算X(time.h)

我想知道,您可以从此图表中推断出我的排序算法的时间复杂度?

此图表在X轴上有时间(以秒为单位),没有。 Y-Axix上的元素:http://tinypic.com/r/24cz600/8请点击网址

2 个答案:

答案 0 :(得分:5)

你的Big O几乎肯定是n ^ 2。时间应该在Y轴上,因为它是n操作的函数。

enter image description here

正如您在图表中看到的那样,n ^ 2有一个定义明确,几乎完美的拟合。

答案 1 :(得分:1)

它告诉复杂性几乎肯定是O(N ^ 2)(因为它的工作时间太长)。根据这个,您可以对排序算法本身提出一些建议 - 例如,这可能是冒泡排序。