Chceme-li napsat počítačový program, obvykle začínáme algoritmem – popisem řešení úlohy pomocí řady elementárních kroků srozumitelných počítači. Často bývá nalezení vhodného algoritmu důležitější než detaily programu. Tato kniha vypráví o tom, jak algoritmy navrhovat a jak jejich chování zkoumat. Mimo to obsahuje mnoho příkladů algoritmů a datových struktur s aplikacemi a cvičeními. Je určena každému, kdo už umí trochu programovat v jakémkoliv jazyce a chtěl by se naučit algoritmicky myslet. Hodit se může jak studentovi informatiky, tak zkušenému programátorovi z praxe.