Introdução a copiladores e linguagens formais e automatos finitos

377 palavras 2 páginas
Respostas

...............................................................................................................................

I Implementar os exercícios seguintes: ( em linguagem: C )
Algoritmos Recursivos
1. Escrever 3 algoritmos recursivos para imprimir uma árvore binária:
a) in-ordem; b) pós-ordem; c) pré-ordem
2. Escrever um programa principal para testar 3 algoritmos citados no item 1 e pode utilizar o algoritmo geratree (..) que foi visto e escrito na aula.

#include

#include

struct treeNo {

char info;

struct treeNo *left;

struct treeNo *right;

};

struct treeNo *root;

struct treeNo *geratree(int l);

void print_treeIn_Ordem(struct treeNo *r,int l) //Exibi as letras em In-Ordem

{

int i;

if(!r)return;

for(i=0;ileft,l=1);

printf("\t%c\n",r->info);

print_treeIn_Ordem(r->right,l+1);

}

void print_treePre_Ordem(struct treeNo *r,int l) //Exibi as letras em Pre-Ordem

{

int i;

if(!r)return;

for(i=0;iinfo);

print_treePre_Ordem(r->left,l+1);

print_treePre_Ordem(r->right,l+1);

}

void print_treePos_Ordem(struct treeNo *r,int l) //Exibi as letras em Pos-Ordem

{

int i;

if(!r)return;

for(i=0;ileft,l+1);

print_treePos_Ordem(r->right,l+1);

printf("\t%c\n",r->info);

}

main()

{

root = NULL;

int l, d;

printf("Quantos nos terá a arvore:!\n"); //Usuario define a quantidade de nós da arvore

scanf("%d",&l);

root = geratree(l);

printf("\n\t\tQual Impressao da arvore binária deseja:\n (1) In-Ordem\n (2) Pre-Ordem\n (3) Pos-Ordem\n"); //Qual será a Ordem exibida pelas letras

scanf("%d",&d);

if(d == 1) // Se for 1 busca a função da In-Ordem

{

printf("In-Ordem\n");

Relacionados