Techniki programowania
Algorytmy i struktury danych
- Szczegóły
- Kategoria: Techniki programowania
W niniejszej książce przedstawiono struktury danych i algorytmy stanowiące podstawę współczesnego programowania komputerów. Algorytmy są niczym przepis na rozwiązanie postawionego przed programistę problemu. Są one nierozerwalnie związane ze strukturami danych - listami, rekordami, tablicami, kolejkami, drzewami... podstawowymi elementami wiedzy każdego programisty.
Książka obejmuje szeroki zakres materiału, a do jej lektury wystarczy znajomość dowolnego języka programowania strukturalnego (np. Pascala). Opis klasycznych algorytmów uzupełniono o algorytmy związane z zarządzaniem pamięcią operacyjną i pamięciami zewnętrznymi.
Książka przedstawia algorytmy i struktury danych w kontekście rozwiązywania problemów za pomocą komputera. Z tematyką rozwiązywania problemów powiązano zagadnienie zliczania kroków oraz złożoności czasowej - wynika to z głębokiego przekonania autorów tej książki, iż wraz z pojawianiem się coraz szybszych komputerów, pojawiać się będą także coraz bardziej złożone problemy do rozwiązywania i - paradoksalnie - złożoność obliczeniowa używanych algorytmów zyskiwać będzie na znaczeniu.
W książce omówiono m.in.:
- Tradycyjne struktury danych: listy, kolejki, stosy
- Drzewa i operacje na strukturach drzew
- Typy danych oparte na zbiorach, słowniki i kolejki priorytetowe wraz ze sposobami ich implementacji
- Grafy zorientowane i niezorientowane
- Algorytmy sortowania i poszukiwania mediany
- Asymptotyczne zachowanie się procedur rekurencyjnych
- Techniki projektowania algorytmów: "dziel i rządź", wyszukiwanie lokalne i programowanie dynamiczne
- Zarządzanie pamięcią, B-drzewa i struktury indeksowe
Każdemu rozdziałowi towarzyszy zestaw ćwiczeń, o zróżnicowanym stopniu trudności, pomagających sprawdzić swoją wiedzę. "Algorytmy i struktury danych" to doskonały podręcznik dla studentów informatyki i pokrewnych kierunków, a także dla wszystkich zainteresowanych tą tematyką.
- Architektura ewolucyjna. Projektowanie oprogramowania i wsparcie zmian. Wydanie II - [11 październik 2023]
- Nowoczesna inżynieria oprogramowania. Stosowanie skutecznych technik szybszego rozwoju oprogramowania wyższej jakości - [20 czerwiec 2023]
- Inżynieria oprogramowania według Google. Czego warto się nauczyć o tworzeniu oprogramowania - [09 maj 2023]
- Architektura oprogramowania w praktyce. Wydanie IV - [25 październik 2022]
- Koncepcja Domain-Driven Design. Dostosowywanie architektury aplikacji do strategii biznesowej - [29 sierpień 2022]