Сложность ввода/вывода в сравнении с сложностью пространства и сложностью времени

112
11

Я борюсь за терминологию между сложностью ввода-вывода и Space Complexity vs Time Complexity.

Я знаю, какая временная сложность. Но сложность ввода-вывода и сложность пространства одинаковы?

Спасибо за ответы заранее.

спросил(а) 2020-03-26T13:22:48+03:00 2 месяца назад
1
Решение
99

Мое понимание таково:

временная сложность представляет собой рост операций (времени выполнения) космическая сложность представляет собой рост использования памяти Сложность ввода-вывода представляет собой операции ввода/вывода (время выполнения)

Да, время и ввод-вывод подобны. Разница заключается в том, что инструкции ALU намного быстрее, чем I/O в эти дни (это было неверно на старых архитектурах, а сложность ввода-вывода была проигнорирована). Таким образом, это не то же самое, если вы что-то вычисляете сразу или делите на суб-куски с необходимостью хранить/редуцировать суб-результаты с помощью ввода-вывода. Сложность времени такая же, но сложность ввода-вывода не влияет и сильно влияет на время выполнения, если не делать этого.

Например, распространенная ошибка OpenGL заключается в загрузке текстуры в графический процессор каждый кадр, а не только один раз. Его можно рассматривать как операцию ввода-вывода, даже если это передача памяти (обычно с использованием DMA). Сложность времени рендеринга одинакова... но I/O нет, и fps может значительно снизиться. В случае, если у вас много текстур, вы загружаете их по требованию (не для каждого кадра, но, например, для уровня, здания, части карты и т.д.), Поэтому fps будет по-прежнему высок, но при стоимости времени загрузки между играми/уровнем/... Тот же принцип применяется к любому связанному с I/O материалу, а не только к графике...

ответил(а) 2020-03-26T13:37:09.080713+03:00 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема