Ocena:

Książka stanowi kompleksowy przewodnik po strukturach danych i algorytmach wykorzystujących język programowania C. Jest dobrze przyjęta ze względu na jasne wyjaśnienia i przydatność jako odniesienie, szczególnie dla osób już zaznajomionych z programowaniem. Jednak spotyka się z krytyką za przestarzały format przechowywania kodu, mylący styl komentowania i postrzegany brak wartości dydaktycznej dla początkujących.
Zalety:⬤ Kompleksowe omówienie struktur danych i algorytmów.
⬤ Przejrzysty kod i objaśnienia, dzięki czemu jest dobrym źródłem informacji dla doświadczonych programistów.
⬤ Zapewnia praktyczne, praktyczne doświadczenie i zrozumienie niskiego poziomu.
⬤ Przydatna do doskonalenia umiejętności programowania w języku C.
⬤ Dobra organizacja i szczegółowa treść.
⬤ Skuteczna w zrozumieniu ponownego użycia kodu i różnych podejść do rozwiązywania problemów.
⬤ Słaby styl komentowania, który zakłóca płynność i czytelność.
⬤ Przykłady kodu zapisane na przestarzałym formacie dyskietki.
⬤ Nie nadaje się dla początkujących do nauki algorytmów od podstaw.
⬤ Niektórzy czytelnicy uznali książkę za pozbawioną ogólnej wartości dydaktycznej, opisując ją bardziej jako podręcznik niż źródło wiedzy.
⬤ Jakość druku została skrytykowana w niektórych egzemplarzach.
⬤ Niektóre praktyki kodowania zostały uznane za nieefektywne.
(na podstawie 51 opinii czytelników)
Mastering Algorithms with C
Istnieje wiele książek na temat struktur danych i algorytmów, w tym niektóre z przydatnymi bibliotekami funkcji języka C. Mastering Algorithms with C oferuje unikalne połączenie podstaw teoretycznych i działającego kodu. Dzięki solidnym rozwiązaniom do codziennych zadań programistycznych, książka ta unika abstrakcyjnego stylu większości klasycznych tekstów o strukturach danych i algorytmach, ale nadal dostarcza wszystkich informacji potrzebnych do zrozumienia celu i zastosowania popularnych technik programowania.
Książka zawiera implementacje, a także interesujące, rzeczywiste przykłady każdej struktury danych i algorytmu.
Używając zarówno stylu programowania, jak i stylu pisania, które są wyjątkowo czyste, Kyle Loudon pokazuje, jak korzystać z takich podstawowych struktur danych, jak listy, stosy, kolejki, zbiory, drzewa, sterty, kolejki priorytetowe i grafy. Wyjaśnia, jak używać algorytmów do sortowania, wyszukiwania, analizy numerycznej, kompresji danych, szyfrowania danych, typowych problemów grafowych i geometrii obliczeniowej. Opisuje też względną wydajność wszystkich implementacji. Rozdziały poświęcone kompresji i szyfrowaniu nie tylko dostarczają działającego kodu dla rozsądnie wydajnych rozwiązań, ale oferują wyjaśnienia pojęć w przystępny sposób dla osób, które nigdy nie miały czasu ani wiedzy specjalistycznej, aby je dogłębnie przestudiować.
Każdy, kto posiada podstawową wiedzę na temat języka C, może skorzystać z tej książki. W celu zapewnienia łatwego w utrzymaniu i rozszerzalnego kodu, w przykładach zastosowano dodatkowy poziom abstrakcji (taki jak wskaźniki do funkcji). Rozumiejąc, że techniki te mogą być nieznane niektórym programistom, Loudon wyjaśnia je jasno w rozdziałach wprowadzających.
Zawartość:
⬤ Wskaźniki.
⬤ Rekurencja.
⬤ Analiza algorytmów.
⬤ Struktury danych (listy, stosy, kolejki, zbiory, tablice haszujące, drzewa, sterty, kolejki priorytetowe, grafy).
⬤ Sortowanie i wyszukiwanie.
⬤ Metody numeryczne.
⬤ Kompresja danych.
⬤ Szyfrowanie danych.
⬤ Algorytmy graficzne.
⬤ Algorytmy geometryczne.