среда выполнения A.concat (A.splice(0,p))

#javascript #runtime

#javascript #среда выполнения

Вопрос:

какова среда выполнения / пространство A.concat (A.splice(0, p))? Я не уверен, как именно это реализовано, но для меня имело бы смысл, возможно, это O (n * p)?

Комментарии:

1. Самое большее, это требует повторения p элементов дважды, что означает O(n) (не уверен, сможет ли движок оптимизировать это дальше за счет удаления и добавления непрерывных разделов). O(n * p) не является классом сложности

2. разве повторение p элементов дважды не было бы O (p). Кроме того, O (n * p) отлично подходит для сложности. Это может как-то зависеть от p

3. Линейная итерация выполняется всегда n . Например. итерация по каждому элементу в массиве массивов, длина внешнего массива X, длина внутреннего массива Y, как можно было бы сказать, имеют сложность O(n^2)

4. это не имеет смысла. ваши среды выполнения должны находиться в том же контексте, что и ваши переменные. Если его длина X и Y, то время выполнения равно O (X * Y). Вы даже не можете сказать O (X ^ 2) или O (Y ^ 2)… однако вы можете сказать O (max (X, Y) ^ 2). Но вы всегда должны использовать как можно более жесткие границы — и переменные в контексте вашего алгоритма. Я больше искал документы, которые где-то были во время выполнения функций JS

5. Именно так работает обозначение Big O — единственная «переменная», которая когда-либо использовалась, — это n , чтобы указать общее линейное время итерации. Смотрите wiki