Top.Mail.Ru

Перечень алгоритмов

1. Даны три целых числа, найти максимальное из них

a = 5
b = 15
c = 25


Способ №1. Использование оператора if else

if a > b:
   if a > c:
       print(a)
   else:
       print(c)
else:
   if b > c:
       print(b)
   else:
       print(c)
#25
Временная сложность: O(1)– постоянная временная сложность

Пояснения

  • O(1) означает постоянное время выполнения. Независимо от размера входных данных алгоритм будет иметь одинаковое время выполнения.
  • Нотация большого «О» используется не для оценки конкретного времени работы кода. Ее используют для оценки того, как быстро возрастает время обработки данных алгоритмом в привязке к объему этих данных.
  • Временная сложность алгоритма определяет число шагов, которые должен предпринять алгоритм, в зависимости от объема входящих данных (n).

Способ №2. Использование оператора elif

if a > c and a > b : print(a)
elif b > a and b > c : print(b)
else: print(c)
#25
Временная сложность: O(1)

Способ №3. Использование дополнительной переменной

mx = a
if b > mx:
    
mx = b
if c > mx:
    
mx = c
print(mx)
#25
Временная сложность: O (1)

Способ №4. Использование функции max()

mx = max(a,b,c)
print(mx)
#25
Временная сложность: O (1)

Способ №5. Использование функции сортировки sorted()

m = sorted([a,b,c])
print(m[-1])
#25
Временная сложность: O(n log n),

 

В Python в алгоритмах сортировки используется алгоритм Timsort, временная сложность которого определяется зависимость O(n log n), где n– количество элементов в списке.