Notacja Big O to notacja matematyczna używana w informatyce do opisywania złożoności algorytmu. Opisuje wydajność lub złożoność algorytmu pod względem liczby wykonywanych obliczeń. Notacja Big O służy do pomiaru złożoności czasowej i pamięciowej algorytmu, umożliwiając porównanie dwóch lub więcej algorytmów.
Notacja Big O jest reprezentowana za pomocą litery "O", po której następuje parametr n. Parametr n reprezentuje długość danych wejściowych algorytmu. Litera "O" jest również znana jako "kolejność" wydajności algorytmu w odniesieniu do rozmiaru danych wejściowych. Na przykład notacja O(n) oznacza "algorytm ma złożoność czasową rzędu n" lub "jego czas działania rośnie liniowo wraz z rozmiarem danych wejściowych". Oznacza to, że gdy rozmiar danych wejściowych rośnie, liczba obliczeń, które algorytm musi wykonać, wzrasta proporcjonalnie.
Notacja Big O jest przydatna do szybkiego porównywania algorytmów na podstawie ich złożoności czasowej i przestrzennej. Analizując złożoność konkurujących algorytmów, programiści mogą określić, który z nich jest najbardziej wydajny i wybrać najbardziej odpowiedni dla swojego projektu.
Notacja Big O jest często używana w połączeniu z notacją Big Theta i Big Omega. Notacja Big Theta jest podobna do notacji Big O, ale jest bardziej precyzyjna, ponieważ oznacza tylko dolną i górną granicę wydajności algorytmu. Notacja Big Omega jest używana do oznaczania dolnej granicy wydajności algorytmu i rzadko jest używana samodzielnie.
Notacja Big O jest potężnym narzędziem do analizy złożoności czasowej i pamięciowej algorytmów oraz do szybkiego porównywania wydajności konkurencyjnych algorytmów. W związku z tym jest szeroko stosowana w informatyce.