Что такое большое ООО для этого суммирования?

Что бы большой О (наихудшая сложность выполнения; я думаю, что это большая О ?) для алгоритма, который занимает так много времени? Я обобщил время выполнения с суммированием и поместил его в wolfram alpha.

я "=" 0 н я н "=" 1 2 ( н + 1 ) н

Я предполагаю, что фактическое время выполнения будет значением справа, поэтому большой О было бы н 3 / 2 ? Пожалуйста, дайте мне знать, если это неясно. Спасибо.

Да, ты прав. Если время выполнения, как вы утверждаете 1 2 ( н + 1 ) н , то это О ( н 3 / 2 ) (и это на самом деле легко проверить: показав, что 1 2 ( н + 1 ) н н 3 / 2 стремится к конечному (отличному от нуля) значению, вы покажете, что на самом деле 1 2 ( н + 1 ) н асимптотичен н 3 / 2 , или, по определению, О ( н 3 / 2 ) ).
Кстати, если н является квадратом, то приведенную выше сумму очень легко вычислить по формуле суммирования Гаусса: 1 + 2 + + м "=" ( м + 1 ) / 2 . Вы можете сделать это без Mathematica.
И если н не квадрат, сумма на самом деле
я "=" 0 н я н "=" н я "=" 0 н я "=" 1 2 н н ( н я + 1 ) .
По моему опыту, нотация большого O используется как граница, а не как асимптотика. Итак, в этом случае ваш алгоритм О ( н 3 / 2 ) , но верно и другое: алгоритм Θ ( н 3 / 2 ) , и в точном порядке (` ') н 3 / 2 / 2 .
спасибо за ответы. если кто-то хочет оставить ответ, я приму его.

Ответы (1)

Да, ты прав. Если время выполнения, как вы утверждаете, равно 12(n√+1)n, то оно равно O(n3/2) (и это на самом деле легко проверить: показав, что 12(n√+1)n⋅n−3 /2 стремится к конечному (отличному от нуля) значению, вы покажете, что на самом деле 12(n√+1)n асимптотически равно n3/2 или, по определению, равно O(n3/2)).

Ну это немного странно. Вы сами ответили на свой вопрос и приняли его. Просто нашел это немного забавным, хотя ответ кажется вполне правдоподобным
@biditacharya да, прошло несколько месяцев, и никто не взял его, хотя в комментариях были приемлемые ответы. не уверен, почему никто не вставил ответ.