CITB304 Упражнения по Структури от данни

Анотация:

Курсът разглежда основните алгоритми и структури от данни като се набляга на практическите аспекти при реализацията им на обектно ориентиран език за програмиране. Включени са основни структури от данни като свързани списъци, стекове, опашки и вектори, както и по-сложни като двоични дървета за търсене, и речници. Разгледани са основни алгоритми за сортиране като се набляга на тяхното сравнение и приложение.

прочети още
Информационни технологии

Преподавател(и):

доц. Ласко Ласков  д-р

Описание на курса:

Компетенции:

Успешно завършилите курса студенти:

1) Знаят:

• Стекове, опашки, свързани списъци и рекурсия.

• Абстрактния тип „дърво“, основни алгоритми върху дървета, двоични дървета, структури от данни за представяне на дървета.

• Абстрактния тип „приоритетна опашка“.

• Абстрактния тип „речник“. Хеш-таблици , подредени речници.

• Дървета за двоично търсене, АВЛ-дървета, многопосочни дървета, (2,4) дървета, червено-черни дървета.

• Абстрактен тип „множество“, долна граница на сортиране на базата на сравнения, сравнение на алгоритми за сортировка.

• Алгоритми за съпоставяне с образец.

2) Могат:

• Да използват рекурсия, стекове, опашки, свързани списъци, двусвързани опашки.

• Да използват STL вектори, списъци и последователности.

• Да реализират приоритетна опашка, използвайки последователност. Да реализират структурата от данни Heap.

• Да реализират алгоритмите за сортировка Quick Sort, Bucket Sort, Radix Sort.

• Да използват дървета, сравнение на символни низове, търсене на подобие в символни низове.


Предварителни изисквания:
CITB101 Увод в езиците С и С++

CITB102 Програмиране на С и С++

CITB201 Обектно ориентирано програмиране (С++)

CITB202 Обектно ориентирано проектиране със С++



Форми на провеждане:
Редовен

Учебни форми:
Групов

Език, на който се води курса:
Български

Теми, които се разглеждат в курса:

1. Стекове, опашки и рекурсия.

2. Вектори, списъци и последователности.

3. Дървета.

4. Приоритетни опашки.

5. Речници.

6. Дървета за търсене.

7. Сортиране, множества, селектиране.

8. Обработка на символни низове и текст.

Литература по темите:

Michael Goodrich, Roberto Tamassia, David M. Mount, Data Structures and Algorithms in C++.

Средства за оценяване:

Три практически теста по време на семестъра, които представляват разработка на програми на C++ по зададена задача. Три домашни задания.