Imagem de fundo

Considere a seguinte definição de uma estrutura de nó em...

Considere a seguinte definição de uma estrutura de nó em uma árvore binária em C:


struct node {

int value;

struct node *esquerda;

struct node *direita;

}:


Qual é o resultado da seguinte operação de inserção em uma árvore binária com a raiz apontada pelo ponteiro root?


void insere_no(struct node **root, int value){

if (*root== NULL){

*root = (struct node) malloc(sizeof(struct node)):

(*root)->value = value;

(*root)->esquerda = NULL;

(*root)->direita = NULL;

}else if (valor < (*root)->value){

insere_no(&(*root)->esquerda, value);

}else {

insere_no(&(*root)->direita, value);

}

}


A

O valor value é inserido como o valor da raiz da árvore, independentemente do valor fornecido na chamada à função insere_no.


B

O valor value é inserido como o valor da folha mais à esquerda da árvore, independentemente do valor fornecido na chamada à função insere_no.


C

O valor value é inserido como o valor da folha mais à direita da árvore, independentemente do valor fornecido na chamada a função insere_no.


D

O valor value é inserido em sua posição correta, de acordo com a ordem de valores estabelecida na árvore binária de busca.


E

A função não insere o valor value na árvore, pois a recursão seguira indefinidamente.