问题标签 [code-complexity]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
135 浏览

algorithm - 算法复杂性嵌套 For 循环

在第一个代码示例中,p变量属于第一个循环。那么,即使它们不是嵌套循环,第二个也会返回log(n)吗?我的意思是完全,O(loglog(n))

而这些,它们是嵌套的,但k变量属于第二个循环。那么,它应该类似于第一个吗?像O(n^2.log(n))还是O(n.log^2(n))

0 投票
1 回答
30 浏览

math - 扫描文件以比较字符串。比较平均值

我有两个文本文件,它们是两组字符串。First_file.txt(X 串) 和Second_file.txt(N 串)

我以这种方式比较了这两个文件:我取了string1fromFirst_file并逐行扫描了Second_file,。如果我找到相同的字符串,请使用string2from中断并重新启动First_file

所以最好的情况是第一行有匹配,最坏的情况是不匹配,所以我必须扫描整个文件。

我对比较的平均次数感兴趣:对N/2吗?

0 投票
2 回答
375 浏览

sonarqube - 如何在 SonarQube 中定义自定义 JavaScript 复杂性规则?

我已通过SonarQube Metrics Definition阅读了复杂性文档。我还研究了我们定义的规则,但这些规则只确定代码中的错误及其各自的严重性。不幸的是,它没有概述我们如何定义自定义复杂性规则(即,如果您执行 x,复杂性将增加 1)。

任何人都可以对此有所了解吗?

0 投票
1 回答
934 浏览

swift - 寻找复杂性 - 斯威夫特

以下函数的复杂性(Big-O 表示法)是多少:

上面的函数尝试重新排列一个整数,使得元素的序列(不是子数组)总和小于或等于k。一旦序列完成,一个新序列(在同一个数组中)的总和值小于或等于k。我为每个可能的执行添加了可能的复杂性(不是 O(1))。

0 投票
2 回答
736 浏览

big-o - 如何根据大 O 表示法找到这个嵌套 for 循环代码的复杂性?

我在我的算法书上找到了这段代码,但我无法理解这个例子。

这是代码:

现在根据书本计算的每个部分的复杂性是这样的这个

以及整个代码的大O是这样计算的这个

但我无法理解。你能向我解释一下这段代码的复杂性吗?尤其是计算复杂性的部分,O(n/2)因为术语j>i+1

0 投票
1 回答
246 浏览

math - 蒙哥马利乘法 - 32 位寄存器与 64 位寄存器

我需要计算执行蒙哥马利乘法 页面 602-603与大小为 32 与 64 的字大小/寄存器之间的速度差异。

到目前为止,这是我的理解:

  • x 和 y 由长度为 n 的多字数组表示,其中 n = m/w,w 是寄存器大小(32 或 64)。
  • 蒙哥马利乘法的个位数乘法总数为 n*(2 + 2*n),其中 n 表示字数组的数字长度。
  • 我假设在每台计算机上两个个位数的乘法需要 1 个时钟周期。

如何将所有这些放在一起来表示具有 32 位寄存器或 64 位寄存器的计算机上的蒙哥马利乘法所需的时钟周期数?

0 投票
3 回答
8069 浏览

time-complexity - 这个递归斐波那契的大 O 时间复杂度?

我有一个使用递归打印斐波那契数列的程序。有更好的方法,但我被要求使用递归,所以我不得不这样做。

这是程序:

我知道这对于斐波那契数列来说确实是一种糟糕的方法,从上面可以清楚地看出,当TERMS超过 35 时,程序需要很长时间才能完成。

我已经完成了这个答案,无法理解他们是如何解决的,但看起来像

fibo(int n) 的时间复杂度为 O(2^n)

同样,我可能完全错了,但我想要的是:

这个完整程序的时间复杂度是多少,简要解释一下你是如何计算的?

如果您有更好的使用递归计算斐波那契的方法,也欢迎。

0 投票
1 回答
40 浏览

time-complexity - 查找堆函数的复杂性

我将使用以下代码进行堆排序(链接:https ://github.com/kevin-wayne/algs4/blob/master/src/main/java/edu/princeton/cs/algs4/Heap.java )

给定以下代码:

我想知道我的想法是否正确??我在这个领域有点菜鸟。

0 投票
2 回答
91 浏览

python - 使代码更简单,更易读

我需要重写我的简单代码。我得到如下简单的字符串:

  • 分发 ABC 1-2-x
  • 分发 ABC DEF 1-2-x
  • 分发 ABC DEF GHI 1-2-x

我要 .split() "Distrib" 之后的所有单词,并且我必须满足以下条件:

  1. 如果 string[0] 是文本 && string[1] 是整数,那么只加入这些以获得结果“ABC/1”

  2. 如果字符串 [0] 是文本 && 字符串 [1] 是文本,则仅加入它们,然后得到结果“ABC/DEF”

  3. 如果 string[0] is text && string[1] is text && string[2] is text 将它们全部连接并得到结果:“ABC/DEF/GHI”

我写了一个简单的代码来做到这一点,但我真的很感兴趣如何编写它不那么复杂和更易读;)

0 投票
2 回答
165 浏览

entity-framework - azure 函数复杂度级别指导

我正在尝试将使用 MVC 模型和实体框架的现有 API 应用程序转换为 Azure 函数。这是为了利用 Azure 功能中的无服务器架构的可扩展性和成本模型。

当前的 API 应用程序不是很耗时 - 基本上它接受一些 JSON 格式的消息,将其转换为 C# 类,进行一些转换,然后使用实体框架保存到数据库中。请求可以在 10 秒内完成,因此我认为这符合 Azure Function 消费计划的时间限制。

让我担心的是应用程序中的代码量,因为它是一个分层架构,具有 DTO、模型和数据访问层(真正的分层架构)。Azure 功能是否适合托管这种具有分层架构的应用程序?

我觉得 Azure Function 应该是理想的一小部分逻辑。我想检查这种方法是否存在任何问题。我还读到,在函数中保留大量文件和依赖项会增加新实例的初始加载时间。

任何指导将不胜感激。此外,如果 Azure Function 不是此类复杂代码的正确方法,那么还有哪些替代方法 - 我是否应该继续将其作为 API 应用程序维护,并具有应用程序服务带来的当前可扩展性和定价限制?

我相信 Web 作业也会有类似的限制,因为 Azure Functions 和 MS 现在要求每个人都迁移到 Azure Functions。