Приклад. Оцінити часову складність алгоритму
Алгоритм обчислення кількості додатних чисел в таблиці | Вид операції | Час виконання |
for i in range(m): | повторити дії m раз | |
____k = 0 | елементарна операція | 1 * m |
____for j in range(n): | повторити дії n раз | |
________if tabl[i][j]>0: | елементарна операція | 1 * n * m |
____________k = k+1 | елементарна операція | 1 * n* m |
____print(k) | елементарна операція | 1 * m |
Час виконання окремих кроків алгоритму додати та знайти найбільший доданок - він визначатиме часову складність алгоритму:
1 * m + 1 * n * m + 1 * n * m + 1 * m = 2 * n * m + 2 * m = O(n * m)
Якщо n=m, тоді O(n2) - складність пропорційна n2, тому алгоритм є квадратичним.