REKLAMA

Wybrane algorytmy i struktury danych

Czas procesora i pamięć w przeciągu ostatnich lat stały się zasobami tak tanimi, że często bardziej opłacalne jest skorzystanie z rozwiązania nieoptymalnego, ale łatwego w użyciu, niż poświęcenie czasu na projektowanie wydajnych algorytmów i staranne dobieranie struktur danych. Kod taki oczywiście działa wolniej, ale faktyczne straty czasowe są przeważnie tak małe, że często praktycznie pomijalne. Weźmy choćby narzędzia ORM: radykalnie upraszczają wykonywanie zapytań do bazy danych, ale za cenę produkowania nieczytelnych i często bardzo nieoptymalnych zapytań. W nadchodzącej serii artykułów chciałbym wrócić trochę do korzeni i przypomnieć czytelnikom wady i zalety stosowania różnych struktur danych oraz ogólnie znane, operujące na nich algorytmy. Artykuły z założenia przeznaczone są dla programistów u początku swojej kariery, ale być może i bardziej zaawansowani też znajdą tu coś dla siebie...

Zagadnienia poruszane w tym artykule:

  • Dynamiczna alokacja pamięci;
  • Tablica;
  • Wnioski;
  • Sortowanie;
  • Implementacje w bibliotekach standardowych;
  • Wyszukiwanie binarne;
  • Tablica haszująca;
  • Implementacje w bibliotekach standardowych.

Artykuł pochodzi z magazynu Programista nr 76 (9/2018).

Spis treści tego wydania Programisty: https://programistamag.pl/programista-9-2018-76/

Jest to wydanie z przełomu listopada i grudnia 2018 r.

Autorem artykułu jest Wojciech Sura. Programuje od przeszło dziesięciu lat w Delphi, C++ i C#, prowadząc również prywatne projekty. Obecnie pracuje w polskiej firmie PGS Software S.A., zajmującej się tworzeniem oprogramowania i aplikacji mobilnych dla klientów z całego świata.