Zad 2 Napisz funkcję wyznaczające: liczbę wezłów drzewa binarnego, liczbę liści, liczbę prawych potomków w całym drzewie, wysokość drzewa.
struct node { int dane; node * left; node * right; };
int lb_wezlow ( node * korzen){ int i = 0; if( korzen != NULL){ i = 1 +lb_wezlow (korzen -> left) + lb_ wezlow (korzen -> right ); } return i; }
int lb_lisci ( node * korzen ){ int i = 0; if (korzen != NULL){ if( korzen -> left == NULL && korzen -> right == NULL){ i++; } else{ i = i +lb_lisci ( korzen -> left) +lb_lisci (korzen -> right); } } return i; }
int lb_ppotomkow (node * korzen){ int i= 0; if(korzen != NULL){ if(korzen -> right) i++; i = i + lb_ppotomkow( korzen -> left) + lb_ppotomkow( korzen -> right); } return i; }
int wysokosc( node * korzen){ int i= 0; if(korzen != NULL ){ if(korzen -> left != NULL || korzen -> right != NULL ){ i++; } int a = wysokosc ( korzen -> left ); int b = wysokosc ( korzen -> right); if( a > b){ i = i+ a; } else{ i = i+b; } } return i; }
|