Python. Простые алгоритмы
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– количество элементов в списке.
- Просмотров: 8422