Rozdział 5
Nikogo nie trzeba chyba przekonywać o wadze tematu, który zostanie poruszony w tym rozdziale. Od wyboru właściwej w danym momencie struktury danych może zależeć wszystko: szybkość działania programu, możność jego łatwej modyfikacji, czytelność zapisu algorytmów i... dobre samopoczucie programisty.
Każdy, kto poznał jakikolwiek język programowania, został niejako zmuszony do opanowania zasad posługiwania się tzw. typami podstawowymi. Przykładowo w 0+ mamy do dyspozycji typy: im. long.Jloat, char. typy wskaźnikowe etc. Mogą one posłużyć jako elementy bazowe rekordów, tablic, unii, które już zasługują na miano struktur danych - na tyle jednak prymitywnych, iż nie będą one stanowić przedmiotu naszych głębszych rozważań. Prawdziwa przygoda rozpoczyna się dopiero, gdy dostajemy do ręki tzw. listy, drzewa binarne, graj}'... Wraz z nimi rozszerzają się znacznie możliwości rozwiązania programowego wielu ciekawych zagadnień; zwiększa się wachlarz potencjalnych zastosowań informatyki. Listy ułatwiają tworzenie elastycznych baz danych, drzewa binarne mogą posłużyć do analizy symbolicznej wyrażeń arytmetycznych, grafy1 ułatwiają rozwiązanie wielu zagadnień z dziedziny tzw. sztucznej inteligencji - możliwości jest doprawdy bardzo dużo. W kolejnych podrozdziałach zostaną przedstawione najważniejsze struktury danych i sposoby posługiwania się nimi. Jednocześnie przykłady ilustrujące ich użycie zostały tak wybrane, aby zasugerować niejako ewentualną dziedzinę zastosowań. Zapraszam zatem do lektury.
Materiał dotyczący grafów został, ze względu na jego znaczenie i rozmiar, wyodrębniony w rozdziale 10.