Вопрос один в порядке. Во-вторых, я бы предположил, что ваш ответ - это то, что они ищут, но если по n^3 вы имеете в виду O (n^3), вы не можете на самом деле ответить (если это не используется «алгоритмическая эффективность» I незнакомец).
Сложность Big-O дает асимптотическую оценку поведения алгоритма. Мы знаем, что для «большого» n, что O (n^3) больше времени, затраченного на выполнение алгоритма на входе размера n. Обратите внимание на два оговорки - «большое n» и «асимптотическое ограничение». Нет ничего, чтобы остановить ввод размера 1000 в два раза длиннее ввода размера 2000, если существует некоторое m такое, что для всех n> m n^3 ограничивает время выполнения. Кроме того, нет ничего, чтобы остановить алгоритм, принимающий 1 наносекунду на каждом входе, поскольку n^3 все еще является привязкой к времени выполнения - это просто очень пессимистично.
Вот почему большая нотация O часто используется ограниченным образом в практических ситуациях. Он дает справедливый обзор «наихудшего случая», но не говорит о каком-либо сценарии использования. Для более практичного (но часто упускаемого) класса сложности сложности google для «Большой тета».
Если это домашнее задание, это ужасные вопросы. –
оба ваши ответы верны. –