#1 2011-12-17 14:05:50

OskarF

Użytkownik

Zarejestrowany: 2011-02-03
Posty: 38
Punktów :   

4.Drzewa binarne - ZAD 2

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;
}

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
ban-king credit | top money lender in singapore