Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- #include "tree.h"
- #define N 20
- int estaBalanceado(TNode *node);
- int max(int a, int b);
- int calcularAltura(TNode *node);
- int main(){
- TTree arbol;
- crearArbol(&arbol);
- insertar(&arbol,15);
- insertar(&arbol,6);
- insertar(&arbol,3);
- insertar(&arbol,1);
- insertar(&arbol,4);
- insertar(&arbol,9);
- insertar(&arbol,7);
- insertar(&arbol,12);
- insertar(&arbol,20);
- insertar(&arbol,18);
- insertar(&arbol,24);
- insertar(&arbol,17);
- printf("%d\n",estaBalanceado(arbol.root));
- return 0;
- }
- int estaBalanceado(TNode *node){
- if(node == NULL)
- return 1;
- int alt1, alt2;
- alt1 = calcularAltura(node->izq);
- alt2 = calcularAltura(node->der);
- if(abs(alt1-alt2)<=1)
- return estaBalanceado(node->izq) && estaBalanceado(node->der);
- return 0;
- }
- int max(int a, int b){
- if(a>b)
- return a;
- return b;
- }
- int calcularAltura(TNode *node){
- if(node == NULL)
- return 0;
- return 1 + max(calcularAltura(node->izq),calcularAltura(node->der));
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement