Получи случайную криптовалюту за регистрацию!

Big O Оптимизация — вот чем приходится постоянно заниматься. | Python School

Big O

Оптимизация — вот чем приходится постоянно заниматься. Только вопрос — как оценивать скорость? Ведь программы работают с разной скоростью на разных устройствах в зависимости от сборки.

Поэтому программисты пришли к общей оценке названной Big O. К примеру, простой код перебора всех значений это O(n), где n - кол-во этих значений, потому что используется только один цикл, а если два вложенных цикла, вроде программы по распечатки таблицы умножения, то это O(n^2).

По формулам видно, что вторая намного дольше работает. А главное, чем больше элементов, тем дольше будет работать программа.

Тот же бинарный поиск O(log n), намного быстрее, но работает в отсортированном списке. При высчитывании учитывается количество проходов по данным, количество строк кода значения не играет.

На картинке предоставлен график скорости работы алгоритмов, чем меньше операций - тем лучше.