Struktury danych/Wstęp
Spis treści | |
Wstęp | |
Struktury danych |
Podstawy - Tablice - Listy - Stosy - Kolejki - Drzewa - Zbiory - Kopce - Find-Union - Tablice z haszowaniem - Grafy |
Dodatki |
Złożoność obliczeniowa - Implementacje w C++ - Implementacje w Pascalu - Bibliografia - Dla twórców podręcznika |
Wstęp
[edytuj]Niemal każdy algorytm, każdy program, operuje na różnorodnych danych. Mają one przeważnie określoną formę zapewniającą mu pożądane właściwości. Do ich przechowywania i dalszej obróbki potrzebne jest ich zapamiętanie oraz stworzenie dodatkowych algorytmów zapewniających dostęp do wszystkich elementów oraz umożliwiających modyfikację zawartości zbioru. Struktury danych, którym w całości poświęcony jest ten podręcznik, są właśnie takimi zaawansowanymi pojemnikami na dane, które gromadzą je i układają w odpowiedni sposób. Ich różnorodność jest ogromna, a dla każdej znaleziono wiele zastosowań oraz interesujących algorytmów. Powszechnie spotykane jest używanie jednych struktur danych do przetwarzania informacji zgromadzonych w innych. Można więc powiedzieć, że są one fundamentalnym narzędziem programisty i ich znajomość jest niemal niezbędna.
Struktury danych znajdziemy wszędzie. Znajdują się w ogromnych bazach danych z milionami rekordów, gdzie pomagają w ich segregacji oraz przyspieszają dostęp do potrzebnych informacji. Odtwarzacz audio zainstalowany na twoim komputerze wykorzystuje je do przechowywania listy ulubionych utworów. Obecne są nawet w komputerowych procesorach, gdzie asystują przy wykonywaniu kolejnych rozkazów oraz wywołaniach procedur. Każdy program bardziej skomplikowany, niż Hello world czy prosty kalkulator, jest zmuszony do korzystania z nich w jakimś stopniu, już chociażby do prostego zapamiętania analizowanych danych w pamięci komputerowej. Dlatego ich znajomość jest właśnie tak istotna. Jeżeli pragniesz zgłębiać algorytmikę, dogłębne poznanie struktur danych to jedna z pierwszych rzeczy, od których powinieneś zacząć.
Dzięki temu podręcznikowi poznasz najważniejsze z istniejących struktur, dowiesz się o ich wadach oraz zaletach oraz nauczysz się implementować je w twoich programach. Staraliśmy się tak dobrać opisy, aby prezentowały zagadnienie zarówno od strony praktycznej, jak i teoretycznej. Podręcznik adresowany jest do wszystkich osób, które zainteresowały się algorytmiką lub które pragną uporządkować swą wiedzę w tej dziedzinie. Jeśli dopiero zaczynasz przygodę z algorytmami, będziesz miał okazję zaznajomienia się z bardziej naukowym podejściem do problemów informatycznych. Zakładamy, że masz także pewne pojęcie o złożoności obliczeniowej, jednak jeżeli widzisz ten termin po raz pierwszy w życiu, przygotowaliśmy dla Ciebie specjalny poświęcony jej rozdział. Na zakończenie pozostaje nam jedynie życzyć miłej i owocnej lektury.