Курс:

Алгоритми і структури даних

Про курс

Шановні студенти!

Дисципліна «Алгоритми і структури даних» є однією з фундаментальних дисциплін у циклі природничо-математичної підготовки галузі знань «Системні науки та кібернетика» і займає важливе місце в системі підготовки фахівців з інформатики.

Алгоритми є основою комп'ютерних наук та програмування. Тому гарне проектування алгоритмів є вирішальним для продуктивності будь-яких програмних систем. Більше того, вивчення алгоритмів забезпечує проникнення в глибинну природу розв'язуваної задачі і вибір методів її вирішення, незалежних від мови програмування, парадигми програмування, архітектури комп'ютера та інших аспектів реалізації. 

Важливою частиною обчислювальної науки є вміння вибирати і застосовувати алгоритми, що відповідають конкретним цілям, а також враховувати можливість того, що таких алгоритмів може не існувати. Це вміння ґрунтується на вивченні алгоритмів, що використовуються для вирішення відомого кола чітко визначених завдань, усвідомленні їх сили і слабкості, а також застосовності в конкретних контекстах.

Взагалі, комп'ютерна програма - це поєднання алгоритму та структури даних.

У курсі наведені різні алгоритми для роботи зі структурами даних: чергами, стеками, списками, деревами, таблицями та графами; наведені приклади рішення типових завдань, із застосуванням графів.

Вивчення дисципліни «Алгоритми і структури даних» ґрунтується на курсах «Дискретна математика» і «Програмування», у свою чергу вона сама є теоретичним фундаментом для всіх комп'ютерних наук (Computer Science) і забезпечує структурно-логічний зв'язок між ними.

Мета та завдання:

Основною метою курсу є освоєння основних понять і парадигм теорії алгоритмів та застосування структур даних в програмуванні.

В результаті вивчення курсу студенти повинні отримати

ЗНАННЯ:

  • основні поняття і парадигми теорії алгоритмів: поняття асимптотичних оцінок, складності обчислень та  класи складності задач;
  • способи подання структур даних та їх застосування до розв'язання задач;
  • основні методи побудови алгоритмів: динамічне програмування, жадібні алгоритми, рекурсивні алгоритми;
  • рішення типових задач із застосуванням основних структур даних.

ВМІННЯ:

  • програмувати і застосовувати основні структури даних;
  • програмувати і застосовувати основні парадигми теорії алгоритмів;
  • аналізувати і вибирати алгоритми для вирішення реальних завдань;
  • аналізувати складність алгоритмів.

Зміст дисципліни

  • Вступ
  • Мета та завдання курсу
  • Алгоритм роботи з курсом
  • Інформація про авторів курсу
  • Список джерел
  • Тема 1. Основні структури даних, що застосовуються в програмуванні
  • Тема 2. Алгоритми сортування
  • модульний конроль №1.
  • Тема 3. Жадібні алгоритми
  • Тема 4. Динамічне програмування
  • Тема 5. Генетичні алгоритми
  • Тема 6. Класифікація та складність алгоритмів
  • Тема 7. Нерозв'язні проблеми
  • Модульний контроль №2.
  • Теми ІДЗ

Автори

Шаповалов С.П., Шовкопляс О.А.

 

кафедра комп'ютерних наук, СумДУ

Бажаєш
Записатися
на курс ?

Це дуже легко. Реєструйся або заходь в свій аккаунт та навчайся з задоволенням

Зареєструватися Увійти

Кому підійде ?

Викладачі, менеджмент університету

Представники
будь-яких професій, які під час роботи стикаються з проявами недоброчесності

студенти всіх освітніх рівнів

Здобувачам наукових ступенів