Максимальна глибина рішення двійкового дерева Leetcode

Постановка задачі У задачі задано двійкове дерево, і ми повинні з’ясувати максимальну глибину даного дерева. Максимальна глибина двійкового дерева - це кількість вузлів по найдовшому шляху від кореневого вузла до найдальшого листового вузла. Приклад 3 /…

докладніше

Ітеративне обернення бінарного дерева

У задачі «Ітеративне обернення бінарного дерева в порядку» нам дано бінарне дерево. Нам потрібно пройти його в порядку в порядку "ітеративно", без рекурсії. Приклад 2 / \ 1 3 / \ 4 5 4 1 5 2 3 1 / \ 2 3 / \ 4…

докладніше

Обхід Морріса Інкордера

Ми можемо обходити дерево за впорядкованим способом ітеративно, використовуючи стек, але воно забирає простір. Отже, у цій задачі ми збираємося пройти дерево без використання лінійного простору. Ця концепція називається Morris Inorder Traversal або Threading in Binary trees. Приклад 2 / \ 1…

докладніше

Сума лівих листів Рішення Leetcode

У цій задачі ми маємо знайти суму всіх залишених листків у двійковому дереві. Листок, який називається «лівим листом», якщо це лівий дочірній елемент будь-якого вузла на дереві. Приклад 2 / \ 4 7 / \ 9 4 Сума дорівнює 13 ...

докладніше

Морріс Траверсал

Обхід Морріса - метод обходу вузлів у двійковому дереві без використання стека та рекурсії. Таким чином, складність простору зменшується до лінійної. Приклад обходу в порядку 9 7 1 6 4 5 3 1 / \ 2…

докладніше

Kth предок вузла в двійковому дереві

Постановка проблеми Проблема “Kth-предок вузла у двійковому дереві” стверджує, що вам дано двійкове дерево та вузол. Тепер нам потрібно знайти k-го предка цього вузла. Родоначальником будь-якого вузла є вузли, які лежать на шляху від кореня ...

докладніше

Знайти обхід BST після замовлення

Постановка проблеми Проблема «Знайти обхід BST після замовлення» зазначає, що вам надано обхід попереднього замовлення бінарного дерева пошуку. Потім, використовуючи дані, знайдіть обхід після замовлення. Приклад послідовності обходу попереднього замовлення: 5 2 1 3 4 7 6 8 9 1 4 3 2…

докладніше

Ітеративний обхід попереднього замовлення

Проблема “Ітераційне обхід попереднього замовлення” стверджує, що вам дано бінарне дерево, і тепер вам потрібно знайти обхід попереднього замовлення дерева. Нам потрібно знайти обхід попереднього замовлення за допомогою ітераційного методу, а не рекурсивного підходу. Приклад 5 7 9 6 1 4 3…

докладніше

Обхід межі двійкового дерева

Постановка проблеми Проблема “Обхід меж бінарного дерева” говорить про те, що вам дано бінарне дерево. Тепер вам потрібно роздрукувати межовий вигляд двійкового дерева. Тут обхід межі означає, що всі вузли відображаються як межа дерева. Вузли видно з…

докладніше

Діагональний обхід двійкового дерева

Постановка проблеми У задачі «Діагональне обведення двійкового дерева» зазначено, що вам дано двійкове дерево, і тепер вам потрібно знайти діагональний вигляд для даного дерева. Коли ми бачимо дерево у верхньому правому напрямку. Вузли, які ми бачимо, - це діагональний вигляд ...

докладніше