Що таке повне бінарне дерево?
Повне бінарне дерево можна визначити як a бінарне дерево у якому всі вузли мають 0 або двох дітей. Іншими словами, повне бінарне дерево можна визначити як бінарне дерево, у якому всі вузли мають двох дочірніх вузлів, за винятком листових вузлів.
Наведене нижче дерево є повним бінарним деревом:
Наведене вище дерево є повним двійковим деревом, оскільки всі вузли, окрім листкових, мають двох дочірніх елементів.
Повна теорема про двійкове дерево:
найкращий хентай
Розглянемо двійкове дерево T як непорожнє дерево, тоді:
- Нехай I — внутрішні вузли в дереві, а L — листковий вузол у дереві, тоді кількість листкових вузлів дорівнюватиме:
L = I + 1 - Якщо T має I кількість внутрішніх вузлів і N є загальною кількістю вузлів, тоді загальна кількість вузлів дорівнюватиме:
N = 2I + 1 - Якщо T містить «N» загальну кількість вузлів і «I» є кількістю внутрішніх вузлів, тоді кількість внутрішніх вузлів буде дорівнювати:
I = (N-1)/2 - Якщо «T» має «N» загальну кількість вузлів, а «L» — кількість листових вузлів, тоді кількість листових вузлів дорівнюватиме:
L = (N+1)/2 - Якщо «T» містить кількість листових вузлів «L», тоді загальна кількість вузлів дорівнюватиме:
N = 2L - 1 - Якщо «T» має «L» кількість листових вузлів, а «I» — це кількість внутрішніх вузлів, тоді кількість внутрішніх вузлів дорівнюватиме:
I = L - 1
Що таке повне бінарне дерево?
Двійкове дерево називається повним бінарним деревом, якщо всі рівні заповнені повністю, крім останнього рівня, який заповнюється зліва.
Наведене нижче дерево є повним бінарним деревом:
Повне бінарне дерево подібне до повного бінарного дерева, за винятком двох відмінностей, які наведено нижче:
- Заповнення листкового вузла необхідно починати з крайньої лівої сторони.
- Не обов’язково, щоб останній листовий вузол мав правильний однорідний вузол.
Давайте розберемо вищезазначені моменти на прикладі:
успадкування в c++
Розглянемо дерево нижче:
Наведене вище дерево є повним двійковим деревом, але не повним бінарним деревом, оскільки вузол 6 не має правого брата.
що таке jquery
Створення повного бінарного дерева
Припустимо, що ми маємо масив із 6 елементів, як показано нижче:
Наведений вище масив містить 6 елементів, тобто 1, 2, 3, 4, 5, 6. Щоб створити повне бінарне дерево, необхідно виконати наступні дії:
Крок 1: Спочатку ми виберемо перший елемент масиву, тобто 1, і створимо кореневий вузол дерева. Кількість доступних елементів на першому рівні - 1.
крок 2: Тепер виділимо другий і третій елементи масиву. Зберігайте другий і третій елементи масиву як лівий і правий дочірні елементи кореневого вузла відповідно, як показано нижче:
Як ми бачимо вище, кількість елементів, доступних на другому рівні, становить 2.
крок 3: Тепер ми виберемо наступні два елементи з масиву, тобто 4 і 5. Збережіть ці два елементи ліворуч і праворуч від вузла 2, як показано нижче:
Як ми можемо помітити вище, вузли 4 і 5 є лівим і правим дочірніми елементами вузла 2 відповідно.
крок 4: Тепер ми виберемо останній елемент масиву, тобто 6, і залишимо його лівим дочірнім елементом вузла 3, оскільки ми знаємо, що в повному бінарному дереві вузли заповнюються з лівого боку, як показано нижче:
java case оператор
Як ми бачимо, другий рівень містить 3 елементи.
Давайте зрозуміємо відмінності між повним і повним бінарним деревом через зображення.
- Двійкове дерево, яке показано нижче, не є ні повним, ні повним бінарним деревом. Це не повне бінарне дерево, оскільки вузол 3 має лише одну дочірню структуру. Це також не є повним двійковим деревом, оскільки вузли повинні бути заповнені з лівого боку, але вузол 3 має правий дочірній елемент і не має лівого дочірнього.
- Двійкове дерево, яке показано нижче, є повним бінарним деревом, але не повним бінарним деревом. Це повне двійкове дерево, оскільки всі вузли мають або 0, або 2 дітей. Це не повне двійкове дерево, оскільки вузол 3 не має дочірніх елементів, тоді як вузол 2 має своїх дочірніх елементів, і ми знаємо, що вузли повинні бути заповнені з лівого боку в повному бінарному дереві.
- Двійкове дерево, яке показано нижче, є повним бінарним деревом, але не повним бінарним деревом. Це повне бінарне дерево, оскільки всі вузли залишаються заповненими. Це не повне бінарне дерево, оскільки вузол 2 має лише одного дочірнього елемента.
- Двійкове дерево, яке показано нижче, є як повним, так і повним двійковим деревом. Це повне бінарне дерево, оскільки всі вузли залишаються заповненими. Це повне бінарне дерево, оскільки всі вузли мають 0 або 2 дочірніх елементів.