top of page
блог
// Корисне та цікаве під каву


Big O та асимптотичний аналіз: як оцінити складність алгоритмів
Коли є два алгоритми, що розв'язують одну задачу, хочеться заздалегідь знати, який із них швидший — ще до того, як писати код. Саме для цього існує асимптотичний аналіз і нотація Big O (O велике). У цій статті розберемо, як рахувати складність алгоритмів, що означають записи на кшталт O(n), O(log n) чи O(n²), і як аналізувати цикли та рекурсію на конкретних прикладах. Навіщо взагалі оцінювати час роботи алгоритму Здавалося б, можна просто запустити код і заміряти час. Але з ц
Ivan Petrushenko
14 лип.Читати 5 хв


Бінарний пошук і бінпошук по відповіді
Бінарний пошук — той алгоритм, який усі «знають», але майже ніхто не пише з першого разу без помилок на одиницю. Причина проста: його зазвичай вчать як рецепт: l, r, m, ділимо навпіл. Але насправді бінарний пошук треба розуміти через інваріант. А ще його майже ніколи не показують у тій формі, в якій він реально трапляється на роботі: не «знайти елемент у масиві», а «знайти мінімальне значення параметра, при якому система ще витримує навантаження». Розберемо обидва випадки. 1.
Ivan Petrushenko
9 лип.Читати 6 хв


BFS і DFS: алгоритми обходу графа і їх складність
BFS і DFS — два фундаментальні алгоритми обходу графа. Обидва відвідують кожну вершину рівно один раз, але роблять це в різному порядку і через різні структури даних. Саме порядок обходу визначає, яка задача буде вирішена коректно, а яка ні. Як працює BFS BFS алгоритм (Breadth-First Search, обхід у ширину) обходить граф рівень за рівнем. Спочатку всі сусіди стартової вершини, потім їхні сусіди, і так далі. Для цього використовується черга (queue) — структура FIFO: першою обро
Yuliia CS Osvita
2 лип.Читати 2 хв