这个功能的空间复杂性是多少?

问题描述 投票:0回答:1

我正在努力学习时空复杂性的概念。我在这里有一个简单的函数,它将比较两个数组,并检查第二个数组是否具有相应的第一个平方值。我更了解时间的复杂性,并相信这个例子将是O(n)。但是,对于空间我很困惑,如果它是O(1),因为我们总是在循环中设置一个布尔变量(工作)和一个i,或者我们是否必须考虑可能具有不同大小的输入?谢谢

let checkSquared = (arr, arr2) => {
    let works = true;
    works = arr.length === arr2.length

    for (let i = 0; i < arr.length; i++) {
        works = arr2[i] === (arr[i] * arr[i])
    }

    return works;
}
javascript algorithm big-o
1个回答
0
投票

它通过引用传递两个数组,因此它只是对现有对象的两个引用。在里面,它创建一个布尔works,一个数字i,并可能为中间值分配一些临时空间。

总而言之,O(1)。

© www.soinside.com 2019 - 2024. All rights reserved.