Розробка та аналіз алгоритмів 11. Бінарні дерева пошуку • Мотивація. Означення • Обхід дерева. Пошук елементів • Додавання/видалення елементів (с) Олексій Молчановський, Prometheus.org.ua 1
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Розробка та аналіз алгоритмів
11. Бінарні дерева пошуку
• Мотивація. Означення
• Обхід дерева. Пошук елементів
• Додавання/видалення елементів
(с) Олексій Молчановський, Prometheus.org.ua 1
Динамічні структури
(с) Олексій Молчановський, Prometheus.org.ua 2
Означення бінарного дерева пошуку
(с) Олексій Молчановський, Prometheus.org.ua 3
Збалансоване бінарне дерево пошуку
(с) Олексій Молчановський, Prometheus.org.ua 4
Пошук елементу в дереві
(с) Олексій Молчановський, Prometheus.org.ua 5
Пошук елементу в дереві
(с) Олексій Молчановський, Prometheus.org.ua 6
Пошук мінімального/максимального елементів
(с) Олексій Молчановський, Prometheus.org.ua 7
Обхід дерева у відсортованому порядку
(с) Олексій Молчановський, Prometheus.org.ua 8
Обхід дерева у відсортованому порядку
(с) Олексій Молчановський, Prometheus.org.ua 9
Пошук попереднього/наступного елементів
(с) Олексій Молчановський, Prometheus.org.ua 10
Додавання елементу
(с) Олексій Молчановський, Prometheus.org.ua 11
Видалення елементу. Варіант 1
(с) Олексій Молчановський, Prometheus.org.ua 12
Видалення елементу. Варіант 2
(с) Олексій Молчановський, Prometheus.org.ua 13
Видалення елементу. Варіант 3
(с) Олексій Молчановський, Prometheus.org.ua 14
Бінарні дерева пошуку. Післямова
• Використовуються у різних мовах програмування для реалізаціях багатьох вбудованих структур даних, які потребують активного видалення, додавання та пошуку елементів
• Важко підтримувати збалансованість дерева після кількох операцій додавання/видалення• Існує кілька модифікацій бінарних дерев пошуку, які зберігають
збалансованість дерев: AVL-дерева, червоно-чорні дерева