CSTB016 Синтез и анализ на приложни алгоритми
Анотация:
Студентите се запознават с:
- Основни методи за изграждане на алгоритми
- Анализ на изчислителна сложност на алгоритми
- Основни динамични структури
- Ефективни методи за търсене и сортиране
Преподавател(и):
Петко Капраляков
Десислава Апостолова
Описание на курса:
Компетенции:
Успешно завършилите курса студенти:
1) знаят:
основни методи за изграждане и анализ на алгоритми
представяне и поддържане на структури данни
2) могат:
да изграждат алгоритми
да ползват динамични структури данни
Предварителни изисквания:
да съставят прости алгоритми
да описват алгоритми на Паскал
Форми на провеждане:
Редовен
Учебни форми:
Лекция
Език, на който се води курса:
Български
Теми, които се разглеждат в курса:
1. Алгоритми. Изисквания към алгоритмите. Ефективност на алгоритми. Сложност, оценки за сложност.
2. Базисни алгоритми за сортиране. Оценки за сложнсот.
3. Рекурсия. Основни елементи на рекурсивен алгоритъм. Примери.
4. Структури данни. Нива на описание. Видове.
5. Структура данни стек. Представяне и поддържане. Механизъм за преобразуване на рекурсивен алгоритъм в нерекурсивен. Опашка - представяне и поддържане.
6. Структура данни линеен списък. Променливи указатели и използване на динамична памет. Представяне и поддържане на линеен списък.
7. Структура данни дърво. Представяне на произволно дърво. Двоични дървета. Двоично дърво на търсене. Представяне и поддържане.
8. Бързи алгоритми за сортиране. Алгоритъм quicksort. Пирамидално сортиране. Сортиране със сливане.
9. Алгоритми за търсене. Идея за хеширане.
Литература по темите:
Н.Уирт, Алгоритми + структури данни = програма, Техника
С.Гудман, С.Хидетниеми, Введение в разработку и анализ алгоритмов, Мир, 1981
R.Sedgewick, Algorithms in Pascal, Addison Westley, 1991
М.Аладжем, Приложно програмиране с Турбо-Паскал, Техника, 1991
Средства за оценяване:
Две контролни работи - 7-ма и 14-та седмица