У меня есть проблема с моей домашней работой, чтобы отменить слова в строке C++, вместо этого, только с O (1) дополнительной памятью. Я смущен тем, что это означает O (1) дополнительную память. Я понимаю, что вообще означает O (1), где независимо от того, насколько велик вход, время для вычисления будет постоянным, поэтому я предполагаю, что я должен добавить только одну часть памяти, которая будет отслеживать слова в обратном порядке. Какие-либо предложения?Сложность времени при обращении строки C++
ответ
O (1) дополнительная память означает «использование не более постоянной дополнительной памяти». Например, вы не смогли сохранить копию строки, так как это заняло бы пространство O (n), но вы могли бы сохранить любое постоянное число дополнительных int
s, char
s и т. Д.
В более общем плане - заявления типа «O (1)» или «O (n)» необязательно относятся к времени выполнения. Обозначение Big-O - это способ описания функций. Алгоритм не может быть O (n), но его время выполнения может быть O (n). Использование пространства алгоритмов аналогично может быть O (1), O (n), O (2 n) и т. Д.
Надеюсь, это поможет!
Не совсем правильно. Копия моего комментария к запросу: O (1) означает m
@ ZongZhengLi- Да, это правильно. Позвольте мне обновить это ... – templatetypedef
, поэтому мне будет разрешено хранить любую амуницию ints или символов, но пока я не создаю часть памяти, которая зависит от длины, делая ее O (N), тогда это удовлетворяет ограничению памяти –
- 1. Сложность времени программы C
- 2. Сложность времени при симуляции
- 3. C# Алгоритм Сложность времени
- 4. Сложность времени для c * c?
- 5. C++ сортировка векторов сложность времени
- 6. C++ 11 unordered_map сложность времени
- 7. Сложность времени доступа индекса строки python?
- 8. Сложность времени
- 9. Последовательность Фибоначчи - сложность времени
- 10. Сложность времени подсчета сумм.
- 11. NullReferenceException при обращении C++ к функции C#
- 12. Сложность времени gsub
- 13. UITextView Добавление новой строки при первом обращении
- 14. Сложность времени прохождения ArrayList
- 15. Сложность времени метода
- 16. Как рассчитать сложность времени?
- 17. Сложность времени специального DFS
- 18. времени Сложность последовательного поиска
- 19. Сложность времени следующей функции
- 20. Сложность времени запроса SQL
- 21. сложность времени python str.index
- 22. Сложность времени модификации файла?
- 23. Сложность времени printf()?
- 24. Ошибка времени выполнения «438» при обращении к диаграмме в VBA
- 25. постоянная сложность времени: O (x^c)
- 26. Как рассчитать сложность времени моей функции C
- 27. Сложность времени при использовании библиотечных функций
- 28. времени Сложность расчета алгоритма
- 29. Сложность времени простого алгоритма
- 30. Сложность времени для алгоритма
Это означает постоянное количество дополнительной памяти - количество дополнительной необходимой памяти не зависит от длины строки, длины слова, количества слов и т. Д. –
, так это значит, что мне нужна постоянная часть памяти который должен выводить каждое слово в обратном порядке и переходить к следующему слову? Я играю, как я могу это сделать –
Что вы имеете в виду, обращая вспять слова? «привет мир», «мир привет», или «dlrow olleh»? – jfly