logo

Структура даних двійкового дерева

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

Структура даних двійкового дерева



вступ:

  • Властивості бінарного дерева
  • Типи бінарного дерева
  • Застосування, переваги та недоліки бінарного дерева
  • Бінарне дерево (реалізація масиву)
  • Повне бінарне дерево
  • Ідеальне бінарне дерево

Основні операції над бінарним деревом:

Деякі інші важливі обходи бінарного дерева:

  • Обхід порядку рівня у спіральній формі
  • Обхід зворотного порядку рівня
  • BFS проти DFS для бінарного дерева
  • Упорядкований обхід дерева без рекурсії
  • Обхід Морріса для попереднього замовлення
  • Ітеративний обхід попереднього замовлення
  • Ітеративний обхід постпорядку з використанням двох стеків
  • Діагональний обхід бінарного дерева
  • Обхід границь бінарного дерева

Прості проблеми зі структурою даних бінарного дерева:

  • Розрахувати глибину повного бінарного дерева з попереднього замовлення
  • Побудуйте дерево з обходу в порядку порядку та рівня
  • Перевірте, чи дане бінарне дерево є SumTree
  • Перевірте, чи є два вузли двоюрідними братами у двійковому дереві
  • Перевірте, чи може видалення ребра розділити бінарне дерево на дві половини
  • Перевірте, чи дане бінарне дерево ідеальне чи ні
  • Перевірте, чи двійкове дерево містить повторювані піддерева розміром 2 або більше
  • Перевірте, чи є два дерева дзеркальними
  • Складні бінарні дерева
  • Симетричне дерево (дзеркальне відображення самого себе)
  • Напишіть код, щоб визначити, чи ідентичні два дерева
  • Піддерево із заданою сумою у двійковому дереві
  • Коротке кодування двійкового дерева
  • Напишіть програму для обчислення розміру дерева
  • Діаметр бінарного дерева
  • Отримати рівень вузла у бінарному дереві

Середні проблеми зі структурою даних двійкового дерева:

  • Знайдіть усі можливі двійкові дерева із заданим обходом у порядку
  • Заповніть послідовник у порядку для всіх вузлів
  • Побудуйте повне бінарне дерево з його представлення пов’язаного списку
  • Мінімальний своп, необхідний для перетворення двійкового дерева у бінарне дерево пошуку
  • Перетворення даного бінарного дерева на подвійний список | Набір 1
  • Перетворення дерева на ліс парних вузлів
  • Перевернути бінарне дерево
  • Друк кореневих шляхів до кінцевих без використання рекурсії
  • Перевірте, чи задані обходи Preorder, Inorder і Postorder належать до одного дерева
  • Перевірте, чи дане бінарне дерево є повним чи ні | Набір 1 (ітераційне рішення)
  • Перевірте, чи є бінарне дерево піддеревом іншого бінарного дерева | Набір 2
  • Знайти найбільшу суму піддерева в дереві
  • Максимальна сума вузлів у двійковому дереві, без яких немає двох суміжних
  • Найнижчий спільний предок у бінарному дереві | Набір 1
  • Висота загального дерева з батьківського масиву
  • Знайдіть відстань між двома даними ключами двійкового дерева

Важкі проблеми зі структурою даних бінарного дерева:

  • Змініть бінарне дерево, щоб отримати попередній обхід за допомогою лише правих вказівників
  • Побудуйте повне бінарне дерево, використовуючи його попередній обхід і попередній обхід його дзеркального дерева
  • Побудуйте спеціальне дерево з заданого попереднього обходу
  • Побудуйте дерево з матриці предка
  • Побудуйте повне k-ічне дерево з його попереднього обходу
  • Побудуйте двійкове дерево з String із представленням у дужках
  • Перетворіть бінарне дерево на двозв’язаний список за допомогою спіралі
  • Перетворення двійкового дерева на круговий подвійний список
  • Перетворення трійкового виразу на двійкове дерево
  • Перевірте, чи існує шлях від кореня до кінця із заданою послідовністю
  • Видаліть усі вузли, які не лежать на жодному шляху з sum>= k
  • Максимальна спіральна сума в бінарному дереві
  • Сума вузлів на k-му рівні в дереві представлена ​​у вигляді рядка
  • Сума всіх чисел, які утворюються від кореня до листа
  • Об’єднайте два двійкові дерева за допомогою суми вузлів (рекурсивної та ітеративної)
  • Знайти корінь дерева, де задана сума ідентифікаторів дітей для кожного вузла

Швидкі посилання:

Рекомендовано:

  • Вивчіть структуру даних і алгоритми | Підручник DSA