相关疑难解决方法(0)

你认为圈复杂度是一个有用的衡量标准吗?

我一直在玩测量大代码库的圈复杂度.

循环复杂性是通过程序源代码的线性独立路径的数量,并且有许多免费工具可供您选择的语言.

结果很有趣,但并不令人惊讶.也就是说,我知道最毛茸茸的部分实际上是最复杂的(评级> 50).但我发现有用的是,在决定从哪里开始重构时,我可以指出为每个方法分配一个具体的"坏"数字.

你使用圈复杂度吗?您找到的最复杂的代码是什么?

refactoring metrics cyclomatic-complexity code-metrics

53
推荐指数
6
解决办法
8915
查看次数

在Pandas DataFrame中反转列顺序的大O复杂性是什么?

所以假设我在pandas中有一个DataFrame,其中包含am行和n列.我们还要说我想颠倒列的顺序,可以使用以下代码完成:

df_reversed = df[df.columns[::-1]]
Run Code Online (Sandbox Code Playgroud)

这项行动的大O复杂性是什么?我假设这将取决于列数,但它还取决于行数?

python algorithm big-o numpy pandas

15
推荐指数
1
解决办法
576
查看次数

是否有工具可以自动计算函数的 Big-O 复杂度

在研究算法和数据结构时,我手动评估了脚本的 BigO 复杂性。有没有办法,比如任何 Python IDE 或包中的一个按钮,来计算任何给定函数或程序的 BigO?

更新:

假设我有

def print_first_element(a):
    print a[0]
Run Code Online (Sandbox Code Playgroud)

为什么我不能编写分析器,它会说我可以通过索引及其 O(1) 访问数组(列表),或者

def print_all_element_of_list(a):
    for i in a:
        print i
Run Code Online (Sandbox Code Playgroud)

好的,你有完整的扫描,所以复杂度是 O(n)

等等

python algorithm big-o computer-science

13
推荐指数
2
解决办法
8万
查看次数

用于java的算法分析工具

我正在寻找一个可以计算函数Big 0的java算法分析工具.理想我想将其作为构建过程的一部分,与我的其他代码度量工具一起使用.即使在谷歌搜索后,我也无法找到任何商业工具的开源.任何建议都会受到欢迎

谢谢

java algorithm big-o metrics

10
推荐指数
1
解决办法
3476
查看次数

用于查找任何给定程序的时间复杂度的程序/算法

我想知道是否可以"编写程序算法 " 来查找任何给定程序的时间复杂度作为输入.

输入:任何程序(P)[任何语言或特定语言]

输出:该程序的时间复杂度(P).

有没有先前尝试编写这样的程序?有没有可用于此目的的算法?

如果是这样,请提供必要的链接,参考或任何可能的指导.

algorithm time-complexity

8
推荐指数
1
解决办法
1万
查看次数