Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 12, 2016 01:46:04

OleksandrSanin
Зарегистрирован: 2016-11-12
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Ассимптотная часовая сложность

 def function(n):
    for i in range(n):
        if i == 0:
            for j in range(n):
                for k in range(10000):
                    print("Karlik")
Какая ассимптотная часовая сложность функции function по отношению к n?
Сколько раз выпишется слово “Карлик” по отношению к n?
Spasibo!

Отредактировано FishHook (Ноя. 12, 2016 12:25:14)

Офлайн

#2 Ноя. 12, 2016 10:29:31

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

Ассимптотная часовая сложность

OleksandrSanin
код на форумах нужно оформлять в теги code



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Ноя. 12, 2016 11:41:53

izekia
От:
Зарегистрирован: 2008-07-19
Сообщения: 317
Репутация: +  12  -
Профиль   Отправить e-mail  

Ассимптотная часовая сложность

n*10000/n
слова выше не знаю



Офлайн

#4 Ноя. 12, 2016 12:11:18

scidam
Зарегистрирован: 2016-06-15
Сообщения: 288
Репутация: +  35  -
Профиль   Отправить e-mail  

Ассимптотная часовая сложность

Видимо, код должен быть таким:

 def function(n):
   for i in range(n):
       if i == 0:
           for j in range(n):
               for k in range(10000):
                    print(Karlik)

Если он такой, то:
1) При i = 1, .. n будет выполнена проверка i==0 c результатом False, это потребует n-1 “операций”
2) При i =0 Будет выполнено n*10000 “операций” напечатать Karlik
Т.о. всего “операций” n*10000 + n - 1
Асимптотическая сложность: O(n*10000 +n -1) = O(n) (из определения О-большого), т.е. O(n)
Сколько карликов: 10000n

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version