Я занимаюсь самообучением на Big-O. Я понимаю, как привести примеры следующих обозначений для алгоритмов:Сложность времени Big-O
O (N):
for(int i = 0; i < n; i++)
sum++;
O (N^2):
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
sum++;
O (N^3):
for(int i = 0; i < n; i++)
for(int j = 0; j < n * n; j++)
sum++;
Я столкнулся с этими обозначениями, которые я не совсем понимаю. Как я могу привести примеры этих алгоритмов?
Может быть, я должен выразить это таким образом: написать алгоритм, который занимает много времени работает в пропорции:
- O ((N^3)/4)
- журнал п^3
- O ((журнал^2) п) + О (п)
- 4^п
- п^3/2
Вы так? См. Http://stackoverflow.com/questions/107165/big-o-for-eight-year-olds и http://stackoverflow.com/questions/487258/plain-english-explanation-of-big-o и http : //stackoverflow.com/search?q = Big + O; –
Вопрос, как правило, вы найдете Big O для конкретного алгоритма, – medopal
Это ** примеры ** алгоритмов O(). Существует огромное количество алгоритмов, подходящих для любых больших ссылок O. Check @ KMan. –