Алгоритми та структури даних мовою C#

На курсі «Алгоритми та структури даних на C#» розглядаються найбільш поширені способи компонування даних для зручної і водночас швидкої їх обробки та оптимальні алгоритми роботи з ними.

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

На курсі будуть детально розглянуті алгоритми сортування, поняття «хеш-таблиці» та «АВЛ-дерева». Також розглянемо структуру даних «Граф», яка широко використовується в житті. Освоїмо метод динамічного програмування для розв’язання різноманітних завдань. Заключний урок буде присвячений розв’язанню практичних прикладів – завдання комівояжера, завдання про ханойські вежі та інші цікаві задачі.

Алгоритми та структури даних, які ми розглядаємо в даному курсі, можна реалізувати будь-якою мовою програмування, нами для цього буде використовуватися мова С#, базових знань якої та знань основ ООП буде цілком достатньо для розуміння матеріалу.

ВІДЕОУРОК № 1. Введення у структури та алгоритми даних. Зв'язані списки.

Основна мета цього уроку – ознайомити студентів зі структурами даних та поняттям алгоритму. Ми розглянемо асимптотичну складність алгоритму, однозв'язкові та двозв'язкові зв'язані списки. Також навчимося використовувати О-нотації.