Big‑O to kalkulator lenistwa programu. Im mniejsza literka n w wyniku, tym szybciej idziesz po kawę.
Wyobraź sobie dwie funkcje, które robią to samo, ale jedna kończy się zanim zdążysz mrugnąć, a druga pozwala Ci przeczytać „Władcę Pierścieni” między kolejnymi klatkami animacji. Big‑O mówi nam, do której kategorii należy kod – i pozwala uniknąć pisania tej drugiej.
Big: duże, bo patrzymy na zachowanie algorytmu przy naprawdę sporych zbiorach danych.
O: od order, czyli rzędu wielkości.
(n): liczba elementów wejściowych.
W skrócie: zapis O(n) odpowiada na pytanie “jak bardzo rośnie liczba operacji, gdy rośnie liczba danych?” – bez zagłębiania się w drobiazgi typu szybkość procesora czy marka kawy.
| Notacja | Co oznacza? | Porównanie w życiu |
|---|---|---|
| O(1) | Stały czas. | Otwierasz lodówkę po jogurt – zawsze jedno pociągnięcie drzwi. |
| O(log n) | Logarytmicznie. | Zgadywanka “za dużo / za mało” – dzielisz przedział na pół, aż trafisz. |
| O(n) | Liniowo. | Sprawdzasz każdy bilet na koncercie po kolei. |
| O(n²) | Kwadratowo. | Każdy uczestnik imprezy pyta KAŻDEGO o imię – chaos gwarantowany. |
| O(cⁿ) | Wykładniczo. | Liczysz wszystkie możliwe kombinacje haseł – nawet router się poci. |
TL;DR: Kręciłem pętlami, mierzyłem złożoność Big-O, zaprzyjaźniłem się z kolekcjami i odkryłem, że equals() bez hashCode() to jak login bez hasła.
for – pełna kontrola nad indeksem (i szansa na IndexOutOfBoundsException, jeśli lubisz …
W pierwszym tygodniu poznałem interfejsy, zaprzyjaźniłem się z klasami abstrakcyjnymi i odkryłem, że Object ma więcej metod niż ja wypitych kaw.
Kodilla zaczęła od filozoficznego pytania: „Czy Twój program jest obiektem czy patelnią pełną funkcji?”
Werdykt: jeśli nie chcesz spalić jajecznicy (czytaj: logiki biznesowej), …
Z dumą ogłaszam, że właśnie zapisałem się na najbardziej klamrową przygodę mojego życia – 36-tygodniowy bootcamp Kodilla Java Developer (to ~660 godzin kodu, zadań i wideocall’i z mentorem). Kurs objęty jest słynną “Job Guarantee”, czyli zwrotem czesnego, jeśli po ukończeniu nie znajdę pracy w ustalonym czasie. Brzmi jak transakcja wiązana: …
Komentarze (0)
Nie dodano jeszcze żadnych komentarzy
Dodaj nowy komentarz: