Студопедия Главная Случайная страница Обратная связь

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

Dispose(q). Внутренняя процедура Del работает в случае 3)





End

end; { Delete }

Внутренняя процедура Del работает в случае 3). Она "спускается" вдоль правой ветви левого поддерева узла q^, который нужно исключить, и заменяет информацию в q^ на информацию из самой правого узла p^ левого поддерева.

На рисунке 6 б) изображено дерево, полученное при удалении из дерева на рисунке 6 а) узла со значением 5.

Можно реализовать удаление узла для случая 3) и другим способом. Удаляемый узел заменяется любым из поддеревьев, например, левым. Оставшееся правое поддерево добавляется в левое так, чтобы сохранилось свойство дерева поиска. При добавлении правого поддерева в левое поддерево используется алгоритм вставки в дерево поиска. Измененный вариант процедуры исключения Delete1 и вспомогательная процедура вставки в дерево поиска Insert для случая, когда добавляемый элемент является уже готовым узлом (в нашем случае – поддеревом), выглядят следующим образом:

procedure Delete1(var T: Tree; x: integer);

var q: Tree;

procedure Insert(var T: Tree; p: Tree);

Begin

if T = nil then T:=p

Else

if p^.inf < T^.inf then Insert(T^.L,p)

else Insert(T^.R,p)

end; { Insert }

Begin

if T = nil then { элемента в дереве нет }

Else

if x < T^.inf then Delete1(T^.L, x)

Else

if x > T^.inf then Delete1(T^.R, x)

Else

begin { исключение узла T^ }

q:=T;

if q^.R = nil then T:=q^.L

Else

if q^.L = nil then T:=q^.R

else begin T:= q^.L;

Insert(T,q^.R)

End;

{ освобождение памяти, выделенной для размещения узла q^ }







Дата добавления: 2015-08-12; просмотров: 332. Нарушение авторских прав; Мы поможем в написании вашей работы!




Картограммы и картодиаграммы Картограммы и картодиаграммы применяются для изображения географической характеристики изучаемых явлений...


Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...


Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...


Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит...

Кран машиниста усл. № 394 – назначение и устройство Кран машиниста условный номер 394 предназначен для управления тормозами поезда...

Приложение Г: Особенности заполнение справки формы ву-45   После выполнения полного опробования тормозов, а так же после сокращенного, если предварительно на станции было произведено полное опробование тормозов состава от стационарной установки с автоматической регистрацией параметров или без...

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Прием и регистрация больных Пути госпитализации больных в стационар могут быть различны. В цен­тральное приемное отделение больные могут быть доставлены: 1) машиной скорой медицинской помощи в случае возникновения остро­го или обострения хронического заболевания...

ПУНКЦИЯ И КАТЕТЕРИЗАЦИЯ ПОДКЛЮЧИЧНОЙ ВЕНЫ   Пункцию и катетеризацию подключичной вены обычно производит хирург или анестезиолог, иногда — специально обученный терапевт...

Studopedia.info - Студопедия - 2014-2025 год . (0.011 сек.) русская версия | украинская версия