Від алгоритмів і структур даних до штучного інтелекту та системного програмування
Big-O нотація, часова і просторова складність. Алгоритми сортування (Bubble, Merge, Quick, Heap). Пошук (лінійний, бінарний). Рекурсія та мастер-теорема.
Масиви, зв'язані списки, стек, черга. Дерева (BST, AVL, B-дерево). Графи (BFS, DFS, Dijkstra). Хеш-таблиці та хешування.
Принципи ООП: інкапсуляція, наслідування, поліморфізм, абстракція. SOLID-принципи. Патерни проєктування: Singleton, Factory, Observer, Strategy.
Реляційні БД (ER-модель, нормалізація 1НФ-3НФ), SQL: SELECT, JOIN, GROUP BY, підзапити. Індекси та транзакції (ACID). NoSQL (MongoDB, Redis).
Модель OSI та TCP/IP, IP-адресація та підмережі, протоколи HTTP/HTTPS/DNS/DHCP, маршрутизація, безпека мереж, шифрування TLS/SSL.
Процеси та потоки, управління пам'яттю (стек, купа, пагінація), файлові системи, синхронізація (mutex, semaphore), планування CPU.
Supervised/unsupervised learning, нейронні мережі (перцептрон, backpropagation), кластеризація (k-means), дерева рішень, оцінка моделей (F1, ROC).
| Алгоритм | Найкраща | Середня | Найгірша | Пам'ять |
|---|---|---|---|---|
| Bubble Sort | O(n) | O(n²) | O(n²) | O(1) |
| Selection Sort | O(n²) | O(n²) | O(n²) | O(1) |
| Insertion Sort | O(n) | O(n²) | O(n²) | O(1) |
| Merge Sort | O(n log n) | O(n log n) | O(n log n) | O(n) |
| Quick Sort | O(n log n) | O(n log n) | O(n²) | O(log n) |
| Heap Sort | O(n log n) | O(n log n) | O(n log n) | O(1) |
| Binary Search | O(1) | O(log n) | O(log n) | O(1) |
Цей навчальний матеріал систематично розкриває тему від основ до просунутих концепцій. Курс орієнтований на самостійне навчання з практичним акцентом.
Алгоритми та структури даних — ядро комп'ютерних наук та практичного програмування.
Проходьте матеріал послідовно, не пропускаючи розділів. Виконуйте практичні вправи після кожного блоку. Повертайтеся до складних частин після засвоєння наступних розділів.