示例#1
0
int altezza(albero T,int lvl){
	if(T!=NULL){ 
		int des,sin;
		des=altezza(T->dx,lvl+1);
		sin=altezza(T->sx,lvl+1);
		if(des>sin) return des;
			return sin;
	}
	return lvl-1;
}
示例#2
0
int albero_completo(albero T){
    
	    /* Dato un un albero binario T di interi, la funzione albero_completo deve ritornare un booleano: 1 se l'albero T è completo, 0 altrimenti. Un albero binario completo di altezza k è un albero binario in cui tutti i nodi, tranne le foglie, hanno esattamente due figli, e tutte le foglie si trovano al livello k. Se l'albero T è vuoto la funzione deve ritornare 0.*/
	if(T!=NULL){
		int h=altezza(T,0);
		if(conta_nodi_lvl(T,h)==pow2(2,h)) return 1;
	}
	return 0;
}
示例#3
0
/** da' come risultato l'altezza dell'albero */
  int altezza(Albero a) {
    if(a == NULL) return -1;
    else return 1+max(altezza(a->left), altezza(a->right));
  }