首页 > TAG信息列表 > complexity-theory

是否可以降低此Javascript算法解决方案的复杂性和意大利面条的质量?

问题: 创建一个将两个参数加在一起的函数.如果仅提供一个参数,则返回一个期望一个参数并返回总和的函数. 例如,addTogether(2,3)应该返回5,而addTogether(2)应该返回一个函数. 然后使用单个参数调用此返回的函数将返回总和:var sumTwoAnd = addTogether(2);sumTwoAnd(3)返回5. 如果任

缩短语法会浪费内存吗?

我发现一种将类似数组的对象(例如NodeList,Arguments)转换为真实数组的巧妙方法是使用: Array.prototype.slice.call(...); 然后,我想到了一种缩短此语法的方法: [].slice.call(...); 后一种方法是否会在每次调用时创建一个新数组来浪费时间和/或内存?我应该在复杂性至关重要的应

c#-.NET BCL API或框架方法的时间复杂度

有什么方法可以知道.NET预定义方法的确切时间复杂度.就像我想知道 String.Contains() 要么 Hashtable.ContainsKey() Microsoft是否共享此信息?解决方法:是的,在MSDN中:) > Hashtable.ContainsKey Method: This method is an O(1) operation. > Enumerable.Contains Method (I

java-计算方法复杂度的原理是什么?

从Sonar Metrics complexity page开始,以下方法的复杂度为5. public void process(Car myCar){ <- +1 if(myCar.isNotMine()){ <- +1 return; <- +1 } car.paint("red");

问:Python3中random.choice(list)的Big-O复杂性是什么

Python3中random.choice(list)的Big-O复杂度是多少,其中n是列表中元素的数量? 编辑.谢谢大家给我答案,现在我明白了.解决方法:O(1).更确切地说,它等于以大的O随机访问时间来按您传递的任何顺序查找单个索引,并且list具有O(1)随机访问索引(与元组一样). Simplified, all it does is s

python-为什么这种o(n)三向设置不相交算法比o(n ^ 3)版本慢?

O(n)因为将列表转换为集合是O(n)时间,所以得到交集是O(n)时间而len是O(n) def disjoint3c(A, B, C): """Return True if there is no element common to all three lists.""" return len(set(A) & set(B) & set(C)) == 0 或类似地,应明确为O(N) def set_disj

javascript-复杂度大于AngularJS Controller中授权的复杂度(SonarLint问题)

我将SonarLint与Eclipse结合使用,并且正在使用AngularJS编写应用程序.我的控制器有问题,因此我尝试对其进行清洁以使其更清晰,然后SonarLint弹出一个问题: Function has a complexity of 11 which is greater than 10 authorized. 这是我的控制器的代码: app.controller('Launche

python:os.path.exists与ext4文件系统的复杂性?

有没有人知道os.path.exists函数的复杂性是在python中使用ext4文件系统?解决方法:Ext4(和Ext3)使用的底层目录结构与Ext2中的完全相同. Ext3增加了日志功能,Ext4改进了日志功能.日记与您的问题无关. 最初Ext2用于将其存储为列表,但这对于大型目录来说当然是低效的.所以它已被改为调

c – std :: multimap :: equal_range的时间复杂度

下午好,我想知道std :: multimap :: equal_range的时间复杂度是多少?是Big-O(n)还是BIG-0(log n).我记得读过std :: multimap :: erase“的时间复杂度是对数加上被删除序列长度的线性时间.” &LT http://frank.mtsu.edu/~csjudy/STL/Multimap.html&GT解决方法:C 03标准,表19(“关联

c – std :: string实现和表达式模板

似乎std :: string – 因为它不使用表达式模板 – 对于某些操作(如串联)具有O(n ^ 2)复杂度而不是可能的O(n)复杂度.当你必须插入许多元素时,std :: stringstream类也是如此. 我想理解这一点,至少如果有人能够就这一点找到一些很好的联系.解决方法:将多个字符串连接在一起在C中具

c – std :: map中的内存分配

我正在做一个关于各种C字典实现(地图,字典,向量等)的报告. 使用std :: map进行插入的结果表明性能为O(log n).性能也有一致的高峰.我不是百分之百确定是什么造成了这种情况;我认为它们是由内存分配引起的,但我找不到任何文献/文档来证明这一点是不成功的. 任何人都可以清楚这件事或

c – 用于计算二项式系数的递归算法的时间复杂度

我正在研究算法复杂性分析.我有不整合的问题或C(n,k). int C(int n, int k){ if(n==k || k==0) return 1; return C(n-1, k) + C(n-1, k-1); } 如何确定其执行复杂度或T(n)?解决方法:你正在寻找的复发是 T(n,k) = T(n-1,k) + T(n-1,k-1) + O(1)       with  

python – 格子路径算法没有完成20 X 20网格的运行

我在python中编写了以下代码来解决 problem 15 from Project Euler: grid_size = 2 def get_paths(node): global paths if node[0] >= grid_size and node[1] >= grid_size: paths += 1 return else:

java – 查找字符串的所有子字符串的复杂性

这是一个查找字符串所有子字符串的解决方案. for (int i = 0; i < str.length(); i++) { String subStr; for (int j = i; j < str.length(); j++) { subStr = str + str.charAt(j)); System.out.println(subStr); } } 在互联网上我读到这段代码的复

python – 实验确定矩阵行列式的计算复杂性

我需要帮助确定实验中矩阵nxn的行列式的计算复杂性 我的代码: import numpy as np import timeit t0 = time.time() for n in range(1, 10): A = np.random.rand(n, n) det = np.linalg.slogdet(A) t = timeit.timeit(lambda: det)

在java中选择无需替换

我经常发现自己需要一个具有以下属性的数据结构: can be initialized with an array of n objects in O(n). one can obtain a random element in O(1), after this operation the picked element is removed from the structure. (without replacement) one can undo p ‘p

python – 是否有一个用于编程操作Big-O复杂性的库?

我对可以推断自己时间复杂性的编程语言感兴趣.为此,以某种方式以编程方式表示时间复杂度将非常有用,这将允许我执行以下操作: f_time = O(n) g_time = O(n^2) h_time = O(sqrt(n)) fastest_asymptotically = min(f_time, g_time, h_time) # = h_time total_time = f_time.inside(

java – BigInteger.pow和BigInteger.isProbablePrime有什么复杂性?

在BigInteger课程中,Java 7的方法pow和isProbablePrime有哪些复杂性? 我知道Rabin测试的简单实现是O(k(log(n))^ 3)复杂度,并且可以通过将Schönhage-Strassen algorithm用于长整数的快速乘法来减少.解决方法:假设标准算法,复杂性是: pow() : O( M(n * exponent) ) IsPr

java – Cyclomatic复杂性和变体

什么是必要的,设计复杂性,扩展的圈复杂度,圈复杂度之间的差异? 我正在使用IntelliJ IDEA插件检查这些指标.解决方法:概观 设计复杂度衡量方法对其他方法的依赖性;圈复杂度通过一种方法测量不同路径的数量;并且扩展的圈复杂度增加了一个控制逻辑度量来表示“完全运用方法控制流所需的

是否有任何保证在JavaScript中访问对象属性的恒定时间?

这是关于我在亚马逊采访时与面试官进行的辩论. 我来创建一个对象: var Obj = {}; Obj['SomeProperty'] = function ( ) { console.log("Accessed some property"); }; Obj[69] = true; JavaScript中有什么保证当我随后访问Obj [‘SomeProperty’]和Obj [69]这两个属性时各自的值fu

python – 递归闭包(函数发生器)

我一直在学习函数式编程,我开始思考,组装数学运算符. 计数 – >另外 – >乘法 – >权力 – > …自然地出来了简单和最天真的代码来表达这一点,它的工作原理!问题是我真的不知道为什么它能如此好地运行并且输出如此大的输出. 问题是:这个功能的复杂性是什么? 代码在python中: def opera

python – 计算Levenshtein编辑距离的复杂性

我现在一整天都在看这个简单的Levenshtein Edit Distance python实现. def lev(a, b): """Recursively calculate the Levenshtein edit distance between two strings, a and b. Returns the edit distance. """ if("" == a):

Java复杂性的两种递归方法

public static String rec1 (String s) { int n = s.length()/2; return n==0 ? s : rec1(s.substring(n)) + rec1(s.substring(0,n)); } public static String rec2 (String s) { return s.length()<=1 ? s : rec2(s.substring(1)) + s.charAt(0); } 为

java – 具有多个出口点的代码片段中的Cyclomatic Complexity

我有这个验证密码的方法: /** * Checks if the given password is valid. * * @param password The password to validate. * @return {@code true} if the password is valid, {@code false} otherwise. */ public static boolean validatePassword(String password) {