当前位置:  开发笔记 > 人工智能 > 正文

是否有任何工具可以确定Big-O复杂性的执行代码分析?

如何解决《是否有任何工具可以确定Big-O复杂性的执行代码分析?》经验,为你挑选了2个好方法。

我没有看到任何东西,我怀疑定义"n"有困难,因为一般来说,分析复杂函数时,不仅仅有一两个变量用于定义.

有关于圈复杂度的分析工具,但有时间(和/或空间)复杂性吗?如果是这样的话,如果没有,为什么不呢?这是不可行的吗?不可能?有人只是没有接触到它?

理想情况下,应用程序的整体复杂性(定义不同的可能"n")以及应用程序中的每个方法都有类似的东西

编辑:所以看起来像一个确切的解决方案是不可能的,因为停止问题然而,某种启发式近似可能吗?我意识到,出于实际目的,一个好的分析器将提供更多有用的信息,但它似乎是一个有趣的问题.

另外,如何计算某个程序子集?



1> f3lix..:

不幸的是,这个问题叫做停机问题 ......


为了使事情更清楚一点,这意味着所提议的工具是不可能的,而不仅仅是不可行的.

2> Ben S..:

不,由于停止问题,这是不可能的.

如果您希望这样做以改进您的应用程序,您可能会考虑进行性能分析.它可以让你指出实际花费最多的时间.这样您就不会花时间优化仅在小数据集上运行的O(n ^ 3)算法.


如果您可以假设程序实际上已停止,那么我认为分析器原则上可以猜测它刚刚分析的算法的复杂性.然而,正如Ben所说,在实际代码中,实际的瓶颈分析比理论上的复杂性更有用.
推荐阅读
罗文彬2502852027
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有