Студопедия — 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; просмотров: 281. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

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

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

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

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Эндоскопическая диагностика язвенной болезни желудка, гастрита, опухоли Хронический гастрит - понятие клинико-анатомическое, характеризующееся определенными патоморфологическими изменениями слизистой оболочки желудка - неспецифическим воспалительным процессом...

Типовые примеры и методы их решения. Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно Пример 2.5.1. На вклад начисляются сложные проценты: а) ежегодно; б) ежеквартально; в) ежемесячно. Какова должна быть годовая номинальная процентная ставка...

Выработка навыка зеркального письма (динамический стереотип) Цель работы: Проследить особенности образования любого навыка (динамического стереотипа) на примере выработки навыка зеркального письма...

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

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