Преподавател(и):
доц. Николай Киров д-р
Описание на курса:
Компетенции:
Предварителни изисквания:
CITB101, CITB201, CITB202
Форми на провеждане:
Редовен
Учебни форми:
Групов
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
Език за програмиране С++: Базисни елементи, изрази, функции, класове
Обектно-ориентирано програмиране: Наследственост и полиморфизъм, шаблони, обработка на изключения
Анализ на алгоритми: Време за изпълнение, псевдокод, анализ на алгоритми, асимптотичната нотация, асимптотичен анализ
Стек, опашка и рекурсия: Рекурсия, стек, опашка, свързан списък, дек
Вектори, списъци и редици: Вектори, списъци, редици, метод на мехурчето с редици, итератори, Йерархия от редични абстрактни типове данни (АТД)
Дървета - първа част: Дървета АТД, базови алгоритми за дървета
Дървета - втора част: Двоични дървета, структури от данни за представяне на дървета
Приоритетна опашка - първа част: Приоритетна опашка АТД, реализиране на приоритетна опашка с редица
Приоритетна опашка - втора част: Хип, реализиране на приоритетна опашка като хип
Речници: Речник АТД,хеш таблици, наредени речници
Търсещи дървата - първа част: Двоични търсещи дървета, AVL-дървета
Търсещи дървета - втора част: Multi-Way търсещи дървета, (2,4)-дървета, червено-черни дървета
Литература по темите:
Michael Goodrich, Roberto Tamassia, David M. Mount, Data Structures and Algorithms in C++, Wiley, 2004; [NBU Library: Ч 681.325.3 / G 64, Moodle NBU]
Michael Goodrich, Roberto Tamassia, David M. Mount, Data Structures and Algorithms in C++, Wiley, Second edition, 2011.
Средства за оценяване:
http://nikolay.kirov.be/2014/CITB303/index.html