Artykuł przygotował: 16.09.2021
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.
Software Developer
Ścieżka kariery to zestaw kursów, które krok po kroku nauczą cię umiejętności niezbędnych w zawodzie. Zaczynasz od zera i po ukończeniu ścieżki umiesz to co jest potrzebne na start w danej dziedzinie. Dowiedz się więcej
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:
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:
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.
Z tą ścieżką zdobędziesz zestaw kluczowych i bardzo uniwersalnych umiejętności programistycznych.
Dowiedz się więcejStruktury 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.
Tomasz - opiekun kursów JAVA/Node.js