А Структура даних двійкового дерева це ієрархічна структура даних, у якій кожен вузол має не більше двох дочірніх вузлів, які називаються лівим дочірнім і правим дочірнім елементом. Він зазвичай використовується в інформатиці для ефективного зберігання та пошуку даних із різними операціями, такими як вставка, видалення та обхід.
вступ:
- Властивості бінарного дерева
- Типи бінарного дерева
- Застосування, переваги та недоліки бінарного дерева
- Бінарне дерево (реалізація масиву)
- Повне бінарне дерево
- Ідеальне бінарне дерево
Основні операції над бінарним деревом:
- Обхід дерева (в порядку, попередньому порядку та після порядку)
- Обхід дерева порядку рівня
- Знайти максимальну глибину або висоту заданого бінарного дерева
- Вставка в бінарне дерево
- Видалення в бінарному дереві
- Перерахування бінарних дерев
Деякі інші важливі обходи бінарного дерева:
- Обхід порядку рівня у спіральній формі
- Обхід зворотного порядку рівня
- BFS проти DFS для бінарного дерева
- Упорядкований обхід дерева без рекурсії
- Обхід Морріса для попереднього замовлення
- Ітеративний обхід попереднього замовлення
- Ітеративний обхід постпорядку з використанням двох стеків
- Діагональний обхід бінарного дерева
- Обхід границь бінарного дерева
Прості проблеми зі структурою даних бінарного дерева:
- Розрахувати глибину повного бінарного дерева з попереднього замовлення
- Побудуйте дерево з обходу в порядку порядку та рівня
- Перевірте, чи дане бінарне дерево є SumTree
- Перевірте, чи є два вузли двоюрідними братами у двійковому дереві
- Перевірте, чи може видалення ребра розділити бінарне дерево на дві половини
- Перевірте, чи дане бінарне дерево ідеальне чи ні
- Перевірте, чи двійкове дерево містить повторювані піддерева розміром 2 або більше
- Перевірте, чи є два дерева дзеркальними
- Складні бінарні дерева
- Симетричне дерево (дзеркальне відображення самого себе)
- Напишіть код, щоб визначити, чи ідентичні два дерева
- Піддерево із заданою сумою у двійковому дереві
- Коротке кодування двійкового дерева
- Напишіть програму для обчислення розміру дерева
- Діаметр бінарного дерева
- Отримати рівень вузла у бінарному дереві
Середні проблеми зі структурою даних двійкового дерева:
- Знайдіть усі можливі двійкові дерева із заданим обходом у порядку
- Заповніть послідовник у порядку для всіх вузлів
- Побудуйте повне бінарне дерево з його представлення пов’язаного списку
- Мінімальний своп, необхідний для перетворення двійкового дерева у бінарне дерево пошуку
- Перетворення даного бінарного дерева на подвійний список | Набір 1
- Перетворення дерева на ліс парних вузлів
- Перевернути бінарне дерево
- Друк кореневих шляхів до кінцевих без використання рекурсії
- Перевірте, чи задані обходи Preorder, Inorder і Postorder належать до одного дерева
- Перевірте, чи дане бінарне дерево є повним чи ні | Набір 1 (ітераційне рішення)
- Перевірте, чи є бінарне дерево піддеревом іншого бінарного дерева | Набір 2
- Знайти найбільшу суму піддерева в дереві
- Максимальна сума вузлів у двійковому дереві, без яких немає двох суміжних
- Найнижчий спільний предок у бінарному дереві | Набір 1
- Висота загального дерева з батьківського масиву
- Знайдіть відстань між двома даними ключами двійкового дерева
Важкі проблеми зі структурою даних бінарного дерева:
- Змініть бінарне дерево, щоб отримати попередній обхід за допомогою лише правих вказівників
- Побудуйте повне бінарне дерево, використовуючи його попередній обхід і попередній обхід його дзеркального дерева
- Побудуйте спеціальне дерево з заданого попереднього обходу
- Побудуйте дерево з матриці предка
- Побудуйте повне k-ічне дерево з його попереднього обходу
- Побудуйте двійкове дерево з String із представленням у дужках
- Перетворіть бінарне дерево на двозв’язаний список за допомогою спіралі
- Перетворення двійкового дерева на круговий подвійний список
- Перетворення трійкового виразу на двійкове дерево
- Перевірте, чи існує шлях від кореня до кінця із заданою послідовністю
- Видаліть усі вузли, які не лежать на жодному шляху з sum>= k
- Максимальна спіральна сума в бінарному дереві
- Сума вузлів на k-му рівні в дереві представлена у вигляді рядка
- Сума всіх чисел, які утворюються від кореня до листа
- Об’єднайте два двійкові дерева за допомогою суми вузлів (рекурсивної та ітеративної)
- Знайти корінь дерева, де задана сума ідентифікаторів дітей для кожного вузла
Швидкі посилання:
Рекомендовано:
- Вивчіть структуру даних і алгоритми | Підручник DSA