Алгоритми та структури даних
Структура за темами
-
АЛГОРИТМИ ТА СТРУКТУРИ ДАНИХ
Мета курсу – формування у студентів базових понять з основ процедурного та об’єктно-орієнтованого програмування, теорії алгоритмів, методів їх розробки, реалізації та аналізу. З цією метою до курсу включено два блоки змістових модулів: основи програмування (мовою Java) та алгоритмізація. Блоки розподілено рівномірно між двома навчальними семестрами.Освітня програма підготовки бакалавра з спеціальності «Комп’ютерні науки» передбачає оволодіння студентами низки фахових компетенцій в області програмування, досягнення яких організовано шляхом вивчення курсів «Об’єктно-орієнтоване програмування», «Системне програмування», «Клієнт-серверне програмування», «Програмування для мобільних платформ», «Якість програмного забезпечення та тестування», «Front end – розробка» тощо. Проте базовим та початковим курсом, який являється фундаментальним для вивчення зазначених та інших дисциплін, є курс «Основи програмування та алгоритмізація».Студентам (курсантам) в ході вивчення курсу надана можливість здобуття поглиблених знань шляхом проходження відкритих он-лайн курсів «Основи програмування на Java» та «Розробка та аналіз алгоритмів», які розміщено на платформі Prometheus.Обсяг дисципліни:
11,0 кредитів / 330 академічних годин, з яких: лекцій 64 години, практичних занять (лабораторних) 64 години, самостійної роботи 202 години.
Форми навчання
лекції, практичні заняття (лабораторні роботи), самoстійна робота.
Форми контролю
поточний контроль:
- тестування;
- виконання практичних (лабораторних) робіт;
- виконання індивідуальних завдань.
підсумковий контроль:
- диференційований залік (1 семестр);
- екзамен (2 семестр).
допуск до підсумкового контролю:
- проходження (з одержанням позитивної оцінки) усіх
запропонованих в курсі тестових завдань;
- виконання усіх запланованих індивідуальних практичних завдань.
Викладачі
Придатко О. В., к. т. н., заступник начальника кафедри управління проектами, інформаційних технологій та телекомунікацій
- тестування;
-
-
За умови представлення сертифікату, що засвідчує проходження курсу, студентові (курсантові) автоматично зараховуватиметься оцінка «відмінно» за поточний семестр
-
Коротко про поняття алгоритмів сортування. Детальний огляд складності (ефективності) усіх алгоритмів сортування та принципу їх роботи. Приклади реалізації алгоритмів сортування на різних мовах
-
-
-
1. Визначення алгоритму. Властивості алгоритмів.
2. Ефективність алгоритмів.
3. Приклад: метод Карацуби.
-
1. Метод сортування включенням
2. Машина з довільним доступом до пам’яті RAM
3. Аналіз алгоритму сортування включенням
4. Асимптотичні позначення
-
1. Метод сортування злиттям (декомпозиція)
2. Аналіз алгоритму сортування злиттям
3. Підрахунок інверсій
4. Добуток матриць (метод Штрассена)
-
1. Алгоритм швидкого сортування
2. Ефективність алгоритму швидкого сортування
3. Випадкове (рандомізоване) сортування
-
1. Пошук мінімального (максимального) елементу
2. Пошук порядкової статистики
Примітка: наведені питання в завантаженому файлі наведені в підрозділах 5.5 та 5.6
-
1.Нижня оцінка алгоритмів сортування
2.Сортування підрахунком
3.Сортування за розрядами
-
До лекції №4.3.
-
До лекції №4.5
-
Рекурентні співвідношення (матеріал не обовязковий)
-
До лекції №4.7
-
Загалом до теми №4
-
-
1.Означення піраміди2.Підтримка властивості піраміди3.Створення (побудова) пірамід4.Використання пірамід для задач сортування5.Використання пірамід в якості черг з пріоритетами
-
1. Таблиці з прямою адресацією та хеш-таблиці
2. Метод ланцюгів (уникнення колізії)
3. Хеш-функції
4. Метод відкритої адресації (уникнення колізії)