Imagem de fundo

Analise a seguinte implementação em linguagem C de uma árvore binária: #include <std...

Analise a seguinte implementação em linguagem C de uma árvore binária:


#include <stdio.h>

#include <stdlib.h>


typedef struct No{

int valor;

struct No *esq;

struct No *dir;

}No;


void func(No *raiz){

if(raiz != NULL){

func(raiz->esq);

printf("%d ",raiz->valor);

func(raiz->dir);

}

}


int main(){


No *n1 = malloc(sizeof(No));

No *n2 = malloc(sizeof(No));

No *n3 = malloc(sizeof(No));

No *n4 = malloc(sizeof(No));

No *n5 = malloc(sizeof(No));


n1->valor = 4;

n2->valor = 2;

n3->valor = 6;

n4->valor = 1;

n5->valor = 3;


n1->esq = n2;

n1->dir = n3;


n2->esq = n4;

n2->dir = n5;


n3->esq = NULL;

n3->dir = NULL;


n4->esq = NULL;

n4->dir = NULL;


n5->esq = NULL;

n5->dir = NULL;


func(n1);


return 0;

}


Assinale a alternativa que apresenta a saída produzida pelo programa.


A

1 2 3 4 6


B

4 2 1 3 6


C

2 1 3 4 6


D

1 3 2 6 4


E

4 1 2 3 6