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



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

n2 = n - n1 - 1; 
Tree->left = MakeTree(data, from+1, n1); 
Tree->right = MakeTree(data, from+1+n1, n2); 
return Tree; 

Выделенные строчки программы содержат рекурсивные вызовы. При этом левое поддерево 
содержит n1 элементов массива начиная с номера from+1, тогда как правое – n2 элементов 
начиная с номера from+1+n1
 Обход дерева 
Одной из необходимых операций при работе с деревьями является обход дерева, во время 
которого надо посетить каждый узел по одному разу и (возможно) вывести информацию, со-
держащуюся в вершинах. 
Пусть в результате обхода надо напечатать значения поля данных всех вершин в опреде-
ленном порядке. Существуют три варианта обхода
1) КЛП (корень – левое – правое): сначала посещается корень (выводится информация о 
нем), затем левое поддерево, а затем – правое; 
2) ЛКП (левое – корень – правое): сначала посещается левое поддерево, затем корень, а за-
тем – правое; 
3) ЛПК (левое – правое – корень): сначала посещается левое поддерево, затем правое, а за-
тем – корень.
Для примера ниже дана рекурсивная процедура просмотра дерева в порядке ЛКП. Обратите 
внимание, что поскольку дерево является рекурсивной структурой данных, при работе с ним 
естественно широко применять рекурсию. 
void PrintLKP(PNode Tree) 

if ( ! Tree ) return;
// пустое дерево – окончание рекурсии 
PrintLKP(Tree->left);
// обход левого поддерева 
printf("%d ", Tree->key); 
// вывод информации о корне 
PrintLKP(Tree->right);
// обход правого поддерева
 

Остальные варианты обхода программируются аналогично. 
 
Поиск с помощью дерева 

Download 0,82 Mb.

Do'stlaringiz bilan baham:
1   ...   22   23   24   25   26   27   28   29   ...   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