【问题标题】:How do I calculate runtime complexity of the following JavaScript algorithm?如何计算以下 JavaScript 算法的运行时复杂度?
【发布时间】:2017-07-23 05:26:20
【问题描述】:

下面是一个合并两个数组的简单程序。我使用了两种不同的方法来解决这个问题。我如何计算这两个版本的运行时复杂度,如果可能的话还有空间复杂度?提前致谢!

let A = [1, 2, 3];
let B = [2, 3 , 4, 5];

// VERSION: 1
//let C = A.concat(B.filter( item => {return A.indexOf(item) < 0;} ));

// VERSION: 2
let C = [...new Set([...A,...B])];

// result:
console.log(C);

【问题讨论】:

    标签: javascript time-complexity space-complexity


    【解决方案1】:

    答案在一个叫做 Big O Notation 的术语中。您可以在下面找到详细的文章。

    此外,您可以使用函数式编程工具 Ramda.js 来获得相同的结果,即获取 uniq 数字。

    let A = [1, 2, 3];
    let B = [2, 3 , 4, 5];
    const concat = R.concat(A,B);
    const result = R.uniq(concat);
    
    console.log(result);
    

    For example

    Time Complexity Big O Notation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-06
      • 1970-01-01
      • 2014-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多