Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке балансування дерева?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Балансування дерева** - це процес, під час якого структура дерева перебудовується так, щоб його висота залишалася мінімальною, а елементи були розподілені рівномірно. **Ключове:** балансування підтримує таку форму дерева, за якої пошук, вставка та видалення виконуються максимально швидко (≈ O(log n)) незалежно від порядку додавання елементів.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Балансування дерева** - це процес, під час якого структура дерева перебудовується так, щоб його **висота залишалася мінімальною**, а елементи були **розподілені рівномірно**. ## Навіщо це потрібно У незбалансованому дереві (наприклад, коли всі елементи додані за зростанням) структура стає **схожою на список**, і операції пошуку, вставки та видалення сповільнюються з **O(log n)** до **O(n)**. ## Мета балансування Зробити так, щоб для кожного вузла різниця висот лівого і правого піддерева була **невеликою** (зазвичай ≤ 1). Тоді дерево залишається «щільним», і пошук знову працює швидко. ## Приклад Незбалансоване дерево (усе вправо): ```javascript 1 \ 2 \ 3 \ 4 ``` Після балансування: ```javascript 3 / \ 2 4 / 1 ``` ## Типи збалансованих дерев - **AVL-дерево** - суворе рівноважіння за висотою (різниця ≤ 1). - **Червоно-чорне дерево** - гнучкіше рівноважіння за правилами розфарбовування вузлів. - **B-дерево, B+ дерево** - балансування для зберігання даних на дисках (наприклад, у базах даних). ## Підсумок **Балансування дерева** - це підтримання такої форми дерева, за якої операції пошуку, вставки та видалення виконуються **максимально швидко (≈ O(log n))**, незалежно від порядку додавання елементів.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.