user menu
avatar
Zdjęcie główne artykułu.

Struktury danych - dlaczego są tak ważne?

Spotkałeś się kiedyś z takim pojęciem jak “Struktury danych”? Być może ktoś o tym wspomniał przy okazji omawiania umiejętności, które powinien posiadać każdy programista. Może nawet ten temat pojawił się w szkole lub na studiach. Albo w jednym z wielu artykułów opowiadających o tym jak zacząć naukę programowania. Struktury danych to nic innego jak sposób przechowywania danych w pamięci komputera. A znajomość najważniejszych struktur jest jedną z fundamentalnych umiejętności w szeroko pojętym programowaniu.

Dobre zrozumienie fundamentów pozwoli ci pisać lepszy kod

Wiele języków programowania dostarcza predefiniowane struktury danych, które są gotowe do użycia. Na pewno ułatwia to pracę jednak w ten sposób możesz zabrnąć czasem w pułapkę. Brak zrozumienia mechanizmów i zawiłości danej struktury prowadzi niejednokrotnie do pisania mało optymalnego kodu o problematycznej wydajności. Z tym wiąże się też ryzyko większej podatności na błędy.

Nie chodzi mi o to, żeby zrezygnować ze struktur dostępnych w danych języku. Wręcz przeciwnie - one są po to, żeby z nich korzystać. Ważne jednak jest to abyś dobrze zrozumiał z czym wiąże się użycie danej struktury danych i na jakie problemy możesz natrafić. I dlatego proponuję ci naukę oraz dobre zrozumienie podstawowych struktur danych. To bardzo uniwersalna umiejętność, która zostanie z tobą na całe życie. Co ważne - będziesz mógł tą wiedzę wykorzystać w dowolnym języku programowania.

Struktury danych możesz opisać przykładami z codziennego życia

Przygotowałem dla ciebie przykłady kilku popularnych struktur:

  • Kolejka - wyobraź sobie kolejkę do kasy w sklepie. Kto pierwszy ten lepszy.
  • Stos - wyobraź sobie stos naleśników, na którym najnowsze naleśniki są dokładane na górze.
  • Drzewo - wyobraź sobie zrywanie owoców z wysoko położonej gałęzi. Zaczynamy od pnia i musimy się wspinać na coraz mniejsze gałęzie.

Jak widzisz to nie jest wiedza tajemna. Takie struktury można (i według mnie nawet trzeba) opisywać prostym, zrozumiałym językiem.

O co tak naprawdę chodzi?

Może od razu popatrz na przykład prostej struktury o nazwie “drzewo”. Tak to może wyglądać w praktyce:

”Schemat

Znajdujemy się na początku (pniu) w tym zielonym kółku. Chcemy się dostać do wisienki na szczycie czyli do tego czerwonego kółka. Naszym zadaniem jest znalezienie właściwej drogi. Popatrz jak możemy się dostać do wisienki:

”Struktura

Jeśli potrafisz znaleźć drogę na szczyt, do wisienki, to będziesz także potrafił pisać optymalne algorytmy wyszukujące dane. I to właśnie chodzi w tych strukturach danych. Jeśli dobrze zrozumiesz te zagadnienia to będziesz w stanie optymalnie je wykorzystać w praktyce podczas pisania kodu w dowolnym języku. Chcesz dowiedzieć się więcej na temat drzewa oraz innych struktur? Zacznij od kursu Struktury Danych - Level 1.

Co powinieneś opanować na początek

Na początku wystarczy ci opanowanie dosłownie kilku podstawowych struktur. Przez opanowanie ja osobiście rozumiem zdobycie umiejętności, które pozwolą ci ocenić sensowność zastosowania danej struktury w praktyce. Do takich podstawowych struktur możemy zaliczyć: listę, kolejkę, stos i różne odmiany drzewa (np. drzewo binarne). To fundamentalny, uniwersalny zestaw, który zostanie z tobą na długo i może się przydać dosłownie na każdym kroku.

Struktury danych - ważne i potrzebne

Mam nadzieję, że teraz wiesz już z czym wiążą się struktury danych i wiesz jak wielkie mają znaczenie w programowaniu. Gotów do rozpoczęcia przygody ze strukturami? Zapraszam na przygotowany przeze mnie kurs, który wyjaśni ci wszelkie zawiłości.

Struktury Danych - Level 1.

Tomasz - opiekun kursów JAVA/Node.js