78
h2 = height(tree->right);
if (h1>h2) return (1 + h1);
else return (1 + h2);
}
}
4.11. Binar daraxtni muvozanatlanganmi yoki yo‟qligini tekshirish
Daraxtning balandligini aniqlashni o‟rganganimizdan
keyin uning muvoza-
natlanganligini tekshirish mumkin. Binar daraxtning muvozanatlanganligini
tekshirish uchun uning har bir tugunini har ikkala qismdaraxti balandliklarini
hisoblab, farqlarini tekshirib ko‟rish kerak. Agar farq
0
yoki
1
ga teng bo‟lsa, bu
muvozanatlangan daraxt hisoblanadi. Quyida binar daraxtni muvozanatlanganlikka
tekshirishning rekursiv funksiyasini qo‟llovchi dastur keltirilgan.
Dastur kodi
#include
#include
using namespace std;
class node{
public: int info;
node *left;
node *right;
};
int k=0,Flag=1;
int
height
(node *tree){
int h1,h2;
if (tree==NULL) return (-1);
else {
h1 = height(tree->left);
h2 = height(tree->right);
if (h1>h2) return (1 + h1);