软件分析工具
是否有一个软件/分析工具可以给定一个算法和一组输入,以 O 表示法为您提供算法的效率
Is there a software/profiling tool that given an algorithm and a set of inputs gives you the efficiency of the algorithm in terms of O-Notation
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Big-O 描述了算法的运行时间(和内存空间)如何随不同大小的输入而变化,因此这样的工具必须不接受特定的输入。
如果您可以生成一系列大小范围内的输入,将每个输入提供给算法,测量执行时间(和/或内存大小),并绘制结果,然后您可以将其与各种可能的大 O 曲线进行比较。
我不知道有任何这样的通用符号算法,这听起来有点像人工智能问题。写一个将是一个很好的练习。可能有一些算法它无法分析,但它可能能够分析有用的子集。
Big-O describes how the running time (and memory space) of an algorighm scales with inputs of different sizes, so such a tool would have to not accept a particular input.
If you can generate a range of inputs over a range of sizes, feed each input to the algorithm, measure the execution time (and/or memory size), and plot the result, you can then compare it against various possible big-O curves.
I don't know of any such general symbolic algorithm, and it sounds like a bit of an AI problem. Writing one would be a good exercise. There are probably algorithms which it could not analyze, but it might be able to analyze a useful subset.