Студопедия — New(T);
Студопедия Главная Случайная страница Обратная связь

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

New(T);






with T^ do

Begin

inf.slovo:=slovo; inf.count_sl:=1;

L:=nil; R:=nil

End

End

Else

if slovo < T^.inf.slovo then

Slovar(T^.L, slovo)

Else

if slovo > T^.inf.slovo then

Slovar(T^.R, slovo)

else T^.inf.count_sl:=T^.inf.count_sl+1

end; { Slovar }

Упражнение 4.4. Описать нерекурсивную логическую функцию, проверяющую, входит ли заданный элемент в дерево поиска.

Упражнение 4.5. Описать нерекурсивную процедуру или функцию подсчета числа вхождений заданного элемента в дерево поиска.

4.3 Исключение из дерева поиска

Алгоритм исключения из упорядоченного дерева должен описывать три случая:

1) Узла с заданным значением в дереве нет.

2) Узел с заданным значением имеет не более одного потомка, т.е. удаляемый узел или терминальная вершина (лист), или вершина с одним
потомком.

3) Узел с заданным значением имеет двух потомков.

Трудности возникают в случае 3), так как удаляемый узел нужно заменить либо на самый правый узел его левого поддерева, либо на самый левый узел его правого поддерева, причем они должны иметь не более одного потомка.

Пример 4.4. Описать процедуру исключения узла с заданным значением x из дерева поиска T.

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

var q: Tree;

procedure Del(var p: Tree);

Begin

if p^.R <> nil then Del(p^.R)

Else

Begin

q^.inf:=p^.inf; q:=p;

p:=p^.L

End

end; { Del }

Begin

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

Else

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

Else

if x > T^.inf then Delete(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 Del(q^.L);

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







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



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

Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

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

Ведение учета результатов боевой подготовки в роте и во взводе Содержание журнала учета боевой подготовки во взводе. Учет результатов боевой подготовки - есть отражение количественных и качественных показателей выполнения планов подготовки соединений...

Сравнительно-исторический метод в языкознании сравнительно-исторический метод в языкознании является одним из основных и представляет собой совокупность приёмов...

Концептуальные модели труда учителя В отечественной литературе существует несколько подходов к пониманию профессиональной деятельности учителя, которые, дополняя друг друга, расширяют психологическое представление об эффективности профессионального труда учителя...

Предпосылки, условия и движущие силы психического развития Предпосылки –это факторы. Факторы психического развития –это ведущие детерминанты развития чел. К ним относят: среду...

Анализ микросреды предприятия Анализ микросреды направлен на анализ состояния тех со­ставляющих внешней среды, с которыми предприятие нахо­дится в непосредственном взаимодействии...

Типы конфликтных личностей (Дж. Скотт) Дж. Г. Скотт опирается на типологию Р. М. Брансом, но дополняет её. Они убеждены в своей абсолютной правоте и хотят, чтобы...

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