Мне интересно, меняет ли изменчивость размера отдельных элементов входного массива функции то, как мы представляем ее пространственную сложность. Если у нас есть алгоритм, который принимает массив и создает новый массив со слегка измененным каждым элементом (чтобы не копировать указатели и фактически не хранить что-то новое в оперативной памяти), мне кажется логичным представить его пространственную сложность как O(n * k), где n — длина входного массива, а k — размер самого большого элемента в этом массиве.
Отбросим ли мы этот k, если он константа, т. е. размеры элементов в массив однороден (например, массив содержит только целые числа)? Или мы всегда отбрасываем его, даже если элементы различаются по размеру (например, если массив содержит строки разной длины)? Или мы никогда не отбрасываем его?
И чтобы сделать мой вопрос более конкретным, какова пространственная сложность этих двух функций:
function getModifiedNumberArray(numArr: number[]): number[] {
const newNumArr: number[] = []
for (let num of numArr) {
newNumArr.push(num + 1)
}
return newNumArr
}
function getModifiedStringArray(stringArr: string[]): string[] {
const newStringArr: string[] = []
for (let string of stringArr) {
newStringArr.push(string + '1')
}
return newStringArr
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... input-type
Как обозначение пространственной сложности меняется в зависимости от типа входных данных? ⇐ Javascript
Форум по Javascript
1764164158
Anonymous
Мне интересно, меняет ли изменчивость размера отдельных элементов входного массива функции то, как мы представляем ее пространственную сложность. Если у нас есть алгоритм, который принимает массив и создает новый массив со слегка измененным каждым элементом (чтобы не копировать указатели и фактически не хранить что-то новое в оперативной памяти), мне кажется логичным представить его пространственную сложность как O(n * k), где n — длина входного массива, а k — размер самого большого элемента в этом массиве.
Отбросим ли мы этот k, если он константа, т. е. размеры элементов в массив однороден (например, массив содержит только целые числа)? Или мы всегда отбрасываем его, даже если элементы различаются по размеру (например, если массив содержит строки разной длины)? Или мы никогда не отбрасываем его?
И чтобы сделать мой вопрос более конкретным, какова пространственная сложность этих двух функций:
function getModifiedNumberArray(numArr: number[]): number[] {
const newNumArr: number[] = []
for (let num of numArr) {
newNumArr.push(num + 1)
}
return newNumArr
}
function getModifiedStringArray(stringArr: string[]): string[] {
const newStringArr: string[] = []
for (let string of stringArr) {
newStringArr.push(string + '1')
}
return newStringArr
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79830760/how-does-the-space-complexity-notation-change-with-input-type[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия