问题标签 [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.
algorithm - 算法复杂性嵌套 For 循环
在第一个代码示例中,p变量属于第一个循环。那么,即使它们不是嵌套循环,第二个也会返回log(n)吗?我的意思是完全,O(loglog(n))?
而这些,它们是嵌套的,但k变量属于第二个循环。那么,它应该类似于第一个吗?像O(n^2.log(n))还是O(n.log^2(n))?
math - 扫描文件以比较字符串。比较平均值
我有两个文本文件,它们是两组字符串。First_file.txt
(X 串) 和Second_file.txt
(N 串)
我以这种方式比较了这两个文件:我取了string1
fromFirst_file
并逐行扫描了Second_file
,。如果我找到相同的字符串,请使用string2
from中断并重新启动First_file
。
所以最好的情况是第一行有匹配,最坏的情况是不匹配,所以我必须扫描整个文件。
我对比较的平均次数感兴趣:对N/2
吗?
sonarqube - 如何在 SonarQube 中定义自定义 JavaScript 复杂性规则?
我已通过SonarQube Metrics Definition阅读了复杂性文档。我还研究了我们定义的规则,但这些规则只确定代码中的错误及其各自的严重性。不幸的是,它没有概述我们如何定义自定义复杂性规则(即,如果您执行 x,复杂性将增加 1)。
任何人都可以对此有所了解吗?
swift - 寻找复杂性 - 斯威夫特
以下函数的复杂性(Big-O 表示法)是多少:
上面的函数尝试重新排列一个整数,使得元素的序列(不是子数组)总和小于或等于k
。一旦序列完成,一个新序列(在同一个数组中)的总和值小于或等于k
。我为每个可能的执行添加了可能的复杂性(不是 O(1))。
math - 蒙哥马利乘法 - 32 位寄存器与 64 位寄存器
我需要计算执行蒙哥马利乘法 页面 602-603与大小为 32 与 64 的字大小/寄存器之间的速度差异。
到目前为止,这是我的理解:
- x 和 y 由长度为 n 的多字数组表示,其中 n = m/w,w 是寄存器大小(32 或 64)。
- 蒙哥马利乘法的个位数乘法总数为 n*(2 + 2*n),其中 n 表示字数组的数字长度。
- 我假设在每台计算机上两个个位数的乘法需要 1 个时钟周期。
如何将所有这些放在一起来表示具有 32 位寄存器或 64 位寄存器的计算机上的蒙哥马利乘法所需的时钟周期数?
time-complexity - 这个递归斐波那契的大 O 时间复杂度?
我有一个使用递归打印斐波那契数列的程序。有更好的方法,但我被要求使用递归,所以我不得不这样做。
这是程序:
我知道这对于斐波那契数列来说确实是一种糟糕的方法,从上面可以清楚地看出,当TERMS超过 35 时,程序需要很长时间才能完成。
我已经完成了这个答案,无法理解他们是如何解决的,但看起来像
fibo(int n) 的时间复杂度为 O(2^n)
同样,我可能完全错了,但我想要的是:
这个完整程序的时间复杂度是多少,简要解释一下你是如何计算的?
如果您有更好的使用递归计算斐波那契的方法,也欢迎。
time-complexity - 查找堆函数的复杂性
我将使用以下代码进行堆排序(链接:https ://github.com/kevin-wayne/algs4/blob/master/src/main/java/edu/princeton/cs/algs4/Heap.java )
给定以下代码:
我想知道我的想法是否正确??我在这个领域有点菜鸟。
python - 使代码更简单,更易读
我需要重写我的简单代码。我得到如下简单的字符串:
- 分发 ABC 1-2-x
- 分发 ABC DEF 1-2-x
- 分发 ABC DEF GHI 1-2-x
我要 .split() "Distrib" 之后的所有单词,并且我必须满足以下条件:
如果 string[0] 是文本 && string[1] 是整数,那么只加入这些以获得结果“ABC/1”
如果字符串 [0] 是文本 && 字符串 [1] 是文本,则仅加入它们,然后得到结果“ABC/DEF”
如果 string[0] is text && string[1] is text && string[2] is text 将它们全部连接并得到结果:“ABC/DEF/GHI”
我写了一个简单的代码来做到这一点,但我真的很感兴趣如何编写它不那么复杂和更易读;)
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。