Короткі підсумки
1. Дерева є одними з найбільше широко розповсюджених структур даних у програмуванні, які являють собою ієрархічні структури у вигляді набору зв'язаних вузлів.
2. Кожне дерево має наступні властивості: існує вузол, у який не входить ні однієї дуги (корінь); у кожну вершину, крім кореня, входить одна дуга.
3. З поняттям дерева зв'язані такі поняття, як корінь, гілка, вершина, лист, предок, нащадок, ступінь вершини і дерева, висота дерева.
4. Облікове подання дерев засноване на елементах, що відповідають вершинам дерева.
5. Дерево можна впорядкувати по зазначеному ключі.
6. Переглянути з метою пошуку всі вершини дерева можна за допомогою різних способів обходу дерева.
7. Найбільш часто використовуваними обходами є прямий, симетричний, зворотний.
8. У програмуванні при рішенні великого класу завдань використовуються бінарні дерева.
9. Бінарні дерева за ступенем вершин поділяються на строгі і нестрогі, за характером заповнення вузлів - на повні і неповні, за вилученням вершин від кореня - на збалансовані і майже збалансовані.
10. Основними операціями з бінарними деревами є: створення бінарного дерева; друк бінарного дерева; обхід бінарного дерева; вставка елемента в бінарне дерево; вилучення елемента з бінарного дерева; перевірка чи порожнє бінарне дерево; вилучення бінарного дерева.
11. Бінарні дерева можуть застосовуватися для пошуку даних у спеціально побудованих деревах (бази даних), сортуванні даних, обчислень арифметичних виразів, кодуванні.
Контрольні запитання
Із чим пов'язана популярність використання дерев у програмуванні?
Чи можна список віднести до дерев? Відповідь обґрунтуйте.
Які дані містять адресні поля елемента бінарного дерева?
Чи може бінарне дерево бути строгим і неповним? Відповідь обґрунтуйте.
Чи може бінарне дерево бути нестрогим і повним? Відповідь обґрунтуйте.
Яким може бути майже збалансоване бінарне дерево: повним, неповним, строгим, нестрогим? Відповідь обґрунтуйте.
Куди може бути доданий елемент у бінарному дереві залежно від його вигляду (повне, неповне, строге, нестроге)? Вигляд дерева при цьому повинен зберегтися.
Куди може бути доданий елемент у збалансованому бінарному дереві? Вигляд дерева при цьому повинен зберегтися.
Чим відрізняються, з погляду реалізації алгоритму, прямий, симетричний і зворотний обходи бінарного дерева?
