Студопедия
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Динамические структуры данных. Бинарное дерево.

Читайте также:
  1. I. Сущность социальной структуры общества.
  2. III. Организация и проведение натуральных обследований структуры и интенсивности автотранспортных потоков на основных автомагистралях
  3. IV. ОПРЕДЕЛЕНИЕ КРУГА ИСТОЧНИКОВ, СтруктурЫ и объемА курсовой и выпускной квалификационной (дипломной) работы
  4. Lt;variant> независящие от объема и структуры производства
  5. Quot; Русская правда" как источник для характеристики социально-правовой структуры древнерусского общества.
  6. а (дополнительная). Термодинамические подходы к сущности жизни. Второе начало термодинамики, энтропия и диссипативные структуры.
  7. Адаптивные организационные структуры
  8. Адаптивные структуры
  9. Адаптивные структуры управления
  10. Активные операции коммерческих банков. Оценка структуры активных операций банка с позиции ликвидности, доходности и риска банка. (20 баллов).

Бинарное дерево — это динамическая структура данных, состоящая из узлов, каждый из которых содержит, кроме данных, не более двух ссылок на различные бинарные деревья. На каждый узел имеется ровно одна ссылка. Начальный узел называется корнем дерева. На рисунке приведен пример бинарного дерева. Узел, не имеющий поддеревьев, называется листом. Исходящие узлы называются предками, входящие — потомками.

Высота дерева определяется количеством уровней, на которых располагаются его узлы. Если дерево организовано таким образом, что для каждого узла все ключи его левого поддерева меньше ключа этого узла, а все ключи его правого под-дерева —больше, оно называется деревом поиска. Одинаковые ключи не допускаются. В дереве поиска можно найти элемент по ключу, двигаясь от корня и переходя на левое или правое поддерево в зависимости от значения ключа в каждом узле. Такой поиск гораздо эффективнее поиска по списку, поскольку время поиска определяется высотой дерева, а она пропорциональна двоичному логарифму количества узлов.

Основные функции для работы с бинарным деревом: добавление нового узла(add), поиск элемента (serch), обход (view), очистить (clean).

Удаление узла из дерева представляет собой не такую простую задачу, по-скольку удаляемый узел может быть корневым, содержать две, одну или ни одной ссылки на поддеревья. Для узлов, содержащих меньше двух ссылок, удаление тривиально. Чтобы сохранить упорядоченность дерева при удалении узла с двумя ссылками, его заменяют на узел с самым близким к нему ключом. Это может быть самый левый узел его правого поддерева или самый правый узел левого под-дерева (например, чтобы удалить из дерева на рисунке узел с ключом 25, его нужно заменить на 21 или 30, узел 10 заменяется на 20 или 8, и т. д.).




Дата добавления: 2014-11-24; просмотров: 158 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2025 год. (0.005 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав