Частина 1. Тема 4. Базові алгоритми обробки інформації


4.1 Алгоритми пошуку

4.1.1 Послідовний пошук

4.1.2 Послідовний пошук з бар’єром

4.1.3 Бінарний пошук

4.1.4 Порозрядний пошук

4.1.5 Зовнішній пошук

4.1.6 Застосування геш-таблиць для пошуку. Розв’язання колізій при гешуванні відкритою адресацією та методом ланцюжків.

4.2 Алгоритми сортування даних

4.2.1 Сортування вибором

4.2.2 Сортування вставками

4.2.3 Сортування обміном

4.2.4 Сортування злиттям

4.2.5 Сортування Шелла

4.2.6 Швидке сортування

4.2.7 Пірамідальне сортування

4.2.8 Порозрядне сортування

4.2.9 Мережі сортування

4.2.10 Зовнішнє сортування

4.3 Алгоритми порівняння зі взірцем

4.3.1 Примітивний алгоритм пошуку підрядка

4.3.2 Алгоритм Рабіна-Карпа

4.3.3 Алгоритм Кнута-Морріса-Пратта

4.3.4 Алгоритм Бойєра-Мура

4.3.5 Пошук підрядків за допомогою скінчених автоматів

4.3.6 Наближене порівняння рядків

4.4 Чисельні алгоритми
(більш глибоко тему розкрито в додатковій частині курсу, яка присвячена чисельним методам(тема №10))

4.4.1 Матриці та дії з ними. Алгоритм Копперсміта-Вінограда та алгоритм Штрассена. 

4.4.2 Робота з довгими числами

4.4.3 Многочлени та швидке перетворення Фур’є

4.4.4 Системи алгебраїчних рівнянь

4.4.5 Розв’язання систем лінійних рівнянь

4.4.6 Розв’язання нелінійних рівнянь

4.4.7 Алгоритми апроксимації і інтерполяція чисельних функцій

4.5 Графи та мережеві алгоритми

4.5.1 Пошук у графі.

4.5.2 Породження всіх каркасів графа.

4.5.3 Каркас мінімальної ваги. Метод Дж. Крускала.  Метод Р. Пріма.

4.5.4 Досяжність. Визначення зв’язності. Двозв’язність.

4.5.5 Ейлерові цикли.

4.5.6 Гамільтонові цикли.

4.5.7 Фундаментальна множина циклів.

4.5.8 Алгоритм Дейкстри.

4.5.9 Алгоритм Флойда.

4.5.10 Метод генерації всіх максимальних незалежних множин графа. Задача про найменше покриття.

4.5.11 Задача про найменше розбиття

4.5.12 Розфарбування графа

4.5.13 Пошук мінімального розфарбування вершин графа

4.5.14 Потоки в мережах

4.5.15 Метод побудови максимального потоку в мережі

4.5.16 Методи наближеного рішення задачі комівояжера: алгоритм Ейлера, алгоритм Крістофідеса, застосування локальної оптимізації

4.5.17 Аналіз алгоритмів на графах

4.6 Паралельні та розподілені алгоритми

4.6.1 Методи паралельного виконання програми за допомогою спільної пам’яті або за допомогою передачі повідомлень

4.6.2 Організація паралельних обчислень відповідно до принципу консенсусу і на основі вибору

4.6.3 Методи визначення завершення паралельних обчислень

4.6.4 Паралельний пошук, паралельне сортування, паралельні чисельні алгоритми, паралельні алгоритми на графах