Нотация с голямо О е колко трудно алгоритъмът трябва да работи, за да реши проблем или, казано от техническа гледна точка, най-лошото време за изпълнение на алгоритъм.
O(1) — Алгоритъм за постоянно изпълнение.
Това е алгоритъм, който връща елемент в известна позиция, независимо от размера на данните или масива. Например, проектиране на алгоритъм за тестване дали първият елемент от масива е равен на втория.
O(n) — Линеен алгоритъм за изпълнение
За този алгоритъм броят на итерациите нараства с броя на елементите на масива. Това се изразява като (n-1), където n е броят на елементите на масива. Ако масивът има 10 елемента, алгоритъмът ще изисква 9 сравнения.
O(n2) — Квадратичен алгоритъм за изпълнение
Това повдига на квадрат броя на итерациите или дори учетворява. Да предположим, че имате алгоритъм, който тества дали даден елемент от масива е дублиран другаде в масива. При тестване първият елемент трябва да се сравнява с всеки друг елемент в масива. Вторият елемент трябва да се сравнява с всеки друг елемент, с изключение на първия. Третият елемент трябва да се сравни с всеки друг елемент в масива, с изключение на първите два.
O(log n) — Логаритмичен алгоритъм за изпълнение
Алгоритъмът разделя данните на по-малки части, за да ги реши в итерация. Този алгоритъм е идеален за много големи данни.
Това беше кратка статия, но се надявам да даде малко представа,
Благодаря ти.