Złożoność obliczeniowa, czasowa i pamięciowa algorytmów

Ten wpis jest 1 częścią z 3 w kursie Piece of cake

Często w algorytmicznych zadaniach rekrutacyjnych można natrafić na wymagania dotyczące pojęć takich, jak złożoność obliczeniowa lub złożoność pamięciowa algorytmów. Są to też pojęcia, które warto znać, aby bardziej świadomie podejmować codzienne decyzje dotyczące kodu. Ale co to oznacza? W tym wpisie wyjaśniam, o co chodzi z notacją „duże O” O(n). Od prostego wytłumaczenia dla laików, po formalny opis. Zaczynajmy!

Podstawowe struktury danych — tablica i lista

Ten wpis jest 2 częścią z 3 w kursie Piece of cake

Znajomość podstawowych struktur danych takich, jak tablica czy lista, jest w środowisku akademickim uważana za wiedzę podstawową w programowaniu. Czy tak jest naprawdę? Moim zdaniem nie jest to absolutnie niezbędne do codziennego klepania kodu. Mimo to, warto jednak poznać różnorodne struktury danych, gdyż ta wiedza może mieć wpływ na nasze decyzje odnośnie implementacji i postrzegania problemów algorytmicznych.