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");