Какова сложность пространства для этой функции? - PullRequest
0 голосов
/ 07 апреля 2019

Я пытаюсь выучить понятие сложности пространства-времени.У меня есть простая функция, которая сравнивает два массива и проверяет, соответствует ли второй квадрат значениям первого.Я больше понимаю сложность времени и считаю, что для этого примера это будет O(n).Однако, из-за пробела, я запутался, если бы это было O(1), поскольку мы всегда устанавливаем логическую переменную (работает) и ai внутри цикла, или мы должны принимать во внимание входные данные, которые могут быть разных размеров?Спасибо

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;
}

1 Ответ

0 голосов
/ 07 апреля 2019

По ссылке передаются два массива, поэтому это просто две ссылки на уже существующие объекты. Внутри он создает логическое works число i и, возможно, выделяет некоторое временное пространство для промежуточных значений.

В целом, O (1).

...