Big O Notation to sposób na porównanie algorytmów. Porównuje je poprzez obliczenie, ile pamięci potrzeba i ile czasu potrzeba na ich wykonanie.
Notacja Big O jest często używana w celu określenia, jak skomplikowany jest problem, znany również jako klasa złożoności problemu. Matematyk Paul Bachmann (1837-1920) jako pierwszy użył tego zapisu w drugim wydaniu swojej książki "Analytische Zahlentheorie" w 1896 roku. Edmund Landau (1877-1938) uczynił ten zapis popularnym. Z tego powodu, gdy ludzie mówią o symbolach Landaua, odwołują się do tego zapisu.
Nazwa Big O Notation pochodzi od terminu "kolejność funkcji", który odnosi się do wzrostu funkcji. Big O Notation jest używany do znalezienia górnej granicy (największej możliwej wielkości) tempa wzrostu funkcji, co oznacza, że pracuje on najdłużej, jak długo potrwa przekształcenie wejścia w wyjście. Oznacza to, że algorytm może być pogrupowany według czasu, jaki może upłynąć w najgorszym przypadku, gdy za każdym razem najdłuższa trasa zostanie pokonana.
Duże O to wyrażenie, które znajduje najgorszy scenariusz działania, pokazujące jak wydajny jest algorytm bez konieczności uruchamiania programu na komputerze. Jest to również użyteczne, ponieważ różne komputery mogą mieć różny sprzęt i dlatego potrzebują różnej ilości czasu na jego wykonanie. Ponieważ Big O zawsze zakłada najgorszy scenariusz, może pokazać spójny pomiar prędkości: niezależnie od sprzętu, O ( 1 ) {\i1} {\i1}displaystyle O(1)} zawsze będzie ukończony szybciej niż O ( n ! ) {\i1}displaystyle O(n !)}
ponieważ mają różne poziomy wydajności.