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


void AddToTree (PNode &Tree



Download 0,82 Mb.
Pdf ko'rish
bet28/53
Sana21.02.2022
Hajmi0,82 Mb.
#52470
1   ...   24   25   26   27   28   29   30   31   ...   53
Bog'liq
devcpp 4

void AddToTree (PNode &Tree,
// указатель на корень (ссылка) 
int data)
// добавляемый ключ 

if ( ! Tree ) { 
Tree = new Node;
// создать новый узел 
Tree->key = data; 
Tree->left = NULL; 
Tree->right = NULL; 
return; 

if ( data < Tree->key )
// добавить в нужное поддерево 

 AddToTree ( Tree->left, data ); 
else AddToTree ( Tree->right, data ); 

Важно, что указатель на корень дерева надо передавать по ссылке, так как он может измениться 
при создании новой вершины.
Надо заметить, что в результате работы этого алгоритма не всегда получается дерево ми-
нимальной высоты – все зависит от порядка выбора элементов. Для оптимизации поиска ис-
пользуют так называемые сбалансированные или АВЛ-деревья
1
 деревья, у которых для лю-
бой вершины высоты левого и правого поддеревьев отличаются не более, чем на 1. Добавление 
в них нового элемента иногда сопровождается некоторой перестройкой дерева. 
 Поиск по дереву 
Теперь, когда дерево сортировки построено, очень легко искать элемент с заданным клю-
чом. Сначала проверяем ключ корня, если он равен искомому, то нашли. Если он меньше иско-
мого, ищем в левом поддереве корня, если больше – то в правом. Приведенная функция воз-
вращает адрес нужной вершины, если поиск успешный, и NULL, если требуемый элемент не 
найден. 
1
Сбалансированные деревья называют так в честь изобретателей этого метода Г.М. Адельсона-Вельского и
Е.М. Ландиса. 


Программирование на языке Си
©
 К. Поляков, 1995-2009 
http://kpolyakov.narod.ru
23

Download 0,82 Mb.

Do'stlaringiz bilan baham:
1   ...   24   25   26   27   28   29   30   31   ...   53




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish