Головна

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

Ознайомленню майбутніх фахівців у галузі інформаційних технологій з основами побудови й аналізу алгоритмів, використанням різних структур даних присвячений курс «Алгоритми і структури даних». Метою курсу є формування теоретичної бази знань щодо побудови алгоритмів, аналізу їх складності, основних структур даних та формування практичних навичок розробки алгоритмів обробки структур даних.

    Основні завдання курсу
  • ознайомити з оцінками складності алгоритмів, класифікацієб алгоритмів за складністю;
  • сформувати уявлення про NP-повноту алгоритмів, навести приклади NP-повних задач;
  • розглянути основні структури даних, реалізації абстрактних типів даних;
  • сформувати навички складання алгоритмів обробки структур даних та їх використання при розв’язуванні задач.

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

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

Лабораторний практикум складається з 13 робіт. Під час виконання кожної роботи передбачається складання звіту, який захищається перед викладачем.

Для запису алгоритмів у цьому лабораторному практикумі використовується певна неспецифікована мова, яка за синтаксисом схожа на Сі. У той же час в лістингах широко використовуються математичні позначення, які є очевидними в конкретному контексті. Дозволяються "вольності" які дозволяють зробити тексти програм більш короткимита читабельними, зокрема, опускаються "зайві" роздільники.