Конспект Програмиране и структури от данни: C++ 1.Структури в С++. Дефиниране и инициализация на структури. Оператор за присвояване и операция ".". Структури като параметри на функции и функции от тип структура. 2.Структури в С++. Вложени структури. Указатели към променлива от тип структура. Масиви от структури. Масиви като полета на структури. Функции като полета на структури 3.Последователни файлове. Отваряне и затваряне на файлове. Четене от файл. Записване във файл и добавяне към файл 4.Файлове с произволен достъп. Отваряне и позициониране на указателя към файла. Входно-изходни фунции. Четене и писане във файл 5.Класове. Дефиниране на клас, достъп до членовете на класа. Данни с функции и изпълнение на методите. Скриване на данни с класове 6.Класове като параметри на функции, класове като типове на функции, класове като елементи на други класове, масиви от обекти тип клас 7.Класове. Конструктор и деструктор на клас. Създаване и унищожаване на обекти от тип клас 8.Сортиране на масиви. Преки методи. Сортиране чрез вмъкване, селекция и размяна 9.Рекурсивни алгоритми. Рекурсивни дефиниции и рекурсивни функции. Рекурсивни и итеративни варианти 10.По-сложна рекурсивна функция - "разходка на коня" 21.03 11.Рекурсивно търсене в сортиран масив 12.Разделяне на масив на дялове. Метод на "бързо сортиране" 13.Непряка рекурсия - Хилбертови криви 14.Линейни структури от данни. Основни операции (действия) с линейни стуктури. Реализация (модел) на линейна структура с масив 15.Успоредни масиви, таблици. Сортировка на масив без разместване на елементите на масива. Индексни масиви, обратни индексни масиви 16.Статични и динамични обекти. Динамична памет (heap). Операциите на С++ new и delete. Указатели и операция -> 17.Рекурсивни типове данни. Свързани списъци. Основни операции (действия) със свързани списъци. Двусвързани списъци 18.Топологично сортиране 19.Стек. Реализация с масив и със свързан списък 20.Опашка и циклична опашка. Реализация с масив и със свързан списък 21.Графи. Видове графи. Път в граф. Дървета 22.Двоични дървета. Дефиниране и операции. Обхождане на двоично дърво 23.Рекурсивна дефиниция на двоично дърво. Аритметични изрази и двоични дървета. Програма на С++ 24.Кодиране на Хъфман. Кодове с променлива дължина. Алгоритъм на Хъфман за построяване на оптимално двоично дърво. Реализация на С++ ------ Край за студентите от БСУ 25.Хеш-таблици. Дефиниции и хеш-функции. Метод на линейното отворено адресиране ------ Край за студентите от ЮЗУ