Програмиране за напреднали

Анотация и литература

Курсът подготовя студентите по Информатика за решаване на задачи, за които се изисква съставяне на по-сложни алгоритми. Изучава се целия път от поставяне на задачата до анализ на решенията - анализ на данните, преглед на съществуващи алгоритми за решаванети й, избиране на подходящ алгоритъм, модифициране на съществуващ или построяване на нов алгоритъм, избор на структури от данни, програмиране, тестване на програмата, анализ на ефективността на алгоритъма и програмата.  Всички алгоритми се изучават заедно с най-ефективните им реализации като програми на С и С++.
Студентите трябва да могат да програмират на С и/или С++.

Основен учебник
 
Програмиране = ++Алгоритми;
Преслав Наков, Панайот Добриков, 
TopTeam Co., 2003, 696 страници 
ISBN 954-8905-06-X

681.325.3 / Н 186

Прекрасна нова книга: Antti Laaksonen, Competitive Programmer's Handbook, 2017,  https://cses.fi/book.html

Допълнителна литература

[1] Лендерт Амерал, Алгоритми и структури от данни в С++, ИК "Софтех", София,  2001
[2] Робърт Седжуик, Алгоритми на С. Том 1 и 2, ИК "Софтех", София, 2002 (Ч 681.3 / С 307)
[3] Саймън Харис, Джeймс Рoс, Оснoви нa aлгoритмитe, Алекс Софт, 2006 (681.325.3 / Х 277)
[4] Красимир Манев, Алгоритми в графи. Основни алгоритми, КЛМН, 2013.

[5] MIT 6.006 Introduction to Algorithms, Fall 2011
[6] Data Structure Visualizations