
Basic Concepts in Algorithms
Książka ta jest wynikiem kilkudziesięcioletniego doświadczenia w nauczaniu struktur danych i algorytmów. Jest samodzielna, ale zakłada pewną wcześniejszą wiedzę na temat struktur danych oraz znajomość podstawowych narzędzi programistycznych i matematycznych.
Basic Concepts in Algorithms koncentruje się na bardziej zaawansowanych paradygmatach i metodach łączących podstawowe konstrukcje programistyczne jako elementy składowe i ich przydatność w wyprowadzaniu algorytmów. Jego zakres obejmuje proces projektowania algorytmów i analizę ich wydajności. Jest to przede wszystkim podręcznik do nauczania algorytmów dla studentów drugiego roku studiów licencjackich na kierunkach związanych z komputerami i programowaniem.
Klein odtwarza swój ustny styl nauczania na piśmie, z jednym tematem prowadzącym do innego, powiązanego. Większość klasycznych i bardziej zaawansowanych tematów w teorii algorytmów jest omówiona, choć nie w sposób kompleksowy.
Tematy obejmują dziel i zwyciężaj, programowanie dynamiczne, algorytmy grafowe, algorytmy probabilistyczne, kompresję danych, algorytmy numeryczne i trudność. Każdy rozdział zawiera własny zestaw ćwiczeń, a do większości z nich dołączono rozwiązania.