【发布时间】:2013-11-28 01:10:51
【问题描述】:
我有一个 C 程序,对于以下数量的输入,它会在以下时间内执行:
23 0.001s
100 0.001s
我尝试为此找到一个公式,但没有成功。据我所知,时间有时会翻倍,有时不会,这就是为什么我找不到这个公式。
有什么想法吗?
注意事项
1) 我用 CPU 时间(用户+系统)来衡量这个。
2) 我的程序使用快速排序
2) 我的程序的渐近运行时分析/复杂度是 O(NlogN)
【问题讨论】:
-
尝试确定运行时速度的公式将取决于机器,这就是为什么对源代码进行复杂性分析更合适。
-
已经做了复杂度分析。我正在为我的程序使用快速排序,我的复杂性是 O(NlogN)
-
N
-
您能否提供更多关于如何衡量执行时间的详细信息?您是在使用 CPU 时间还是喜欢从头到尾的系统时间?请记住,O(nlogn) 只是衡量的界限。
-
好像
time = 0.35µs * n能胜任,对吧?