int avl(AB t) { int hi,hd; if(t == NULL) return 1; else { hi=altura(t->izq); hd=altura(t->der); if(abs(hi - hd) <= 1) return avl(t->izq) && avl(t->der); else return 0; } }
int main() { while(scanf("%d%d",&n,&m)!=EOF) { if(!(n||m))break; for(int i=0;i<n;i++) scanf("%s",s[i]); for(int i=0;i<n;i++) for(int j=0;j<m;j++) { if(s[i][j] == '.') { int sum =0; for(int k=0;k<8;k++) { int ii = i + mv[k][0]; int jj = j + mv[k][1]; if(avl(ii,jj)) { sum += ((s[ii][jj] == '*')?1:0); } } s[i][j] = '0' + sum; } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) printf("%c",s[i][j]); printf("\n"); } } return 0; }
void tree() { int t,i; do {system("reset"); printf("\n ************************************************************************** "); printf("\nWhat u want to do"); printf("\n1 for Simple tree\n2 for Binary Search tree\n3 for AVL\n0 to go back"); scanf("%d",&t); switch(t) { case 1:stree(); break; case 2:bst(); break; case 3:avl(); break; case 0:goto xy; default: printf("wrong choice entered"); break; } printf("\npress 1 to continue with trees........"); scanf("%d",&i); }while(i==1); xy:; }
int main(void){ arv* arvore_a; int n, f; criar_arvore(arvore_a); insereArv(&arvore_a, 20); insereArv(&arvore_a, 15); insereArv(&arvore_a, 24); insereArv(&arvore_a, 11); insereArv(&arvore_a, 18); insereArv(&arvore_a, 37); printf("%s\n", avl(&arvore_a) ? "E avl" : "Nao e avl"); printf("%s\n", balan(&arvore_a) ? "Esta completamente balanceada" : "Nao esta completamente balanceada"); n = fator(&arvore_a, 24, &f); if(f) printf("Fator = %d\n", n); else printf("Nao encontrado.\n"); printf("Arvore:\n"); print(&arvore_a); destruirArv(&arvore_a); return 0; }
main() { AB t; AB p,q,r; int c,i; t=NULL; creararbol(&t); listar(t); c = hojas(t); printf("HOJAS %d\n",c); // talar(&t); listar(t); printf("La altura del arbol es %d\n",altura(t)); printf("El arbol es AVL %d\n",avl(t)); printf("con siete %d\n",contar7(t)); }
int main() { rb(); avl(); list(); hash(); }