Ir para o conteúdo
suzy

problema recursividade

Mensagens Recomendadas

suzy    0
suzy

caros, tou com muita dificuldade nas funcoes recusrsivas,  estou a resolver problemas e pedia se pudessem é claro :-[, se estava correcto ou nao, vou ter exame e isto ta mto complicado  :(

1 - Desenvolva uma funcao recusriva em c, que determine quantos nós de uma arvore binaria e constituida por elementos do tipo no têm dois filhos.

A função recebe como argumento um ponteiro para a razi da arvore binaria e devolve como resultado o valor calculdado

fiz assim:


int conta_nos(ptrre p)
{

    if(p==NULL)
       return 0;
    else if(p->dir!=NULL && p->esq!=NULL)
               return 1+ conta_nos(p->dir)+conta_nos(p->esq);
};

muito obrigada

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Warrior    68
Warrior

Não funciona para árvores deste género:

O primeiro nó tem um filho.

Este filho, tem 2.

Ou seja, o número de nós com 2 filhos é 1, e tu retornas 0.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
nata79    0
nata79

int conta_nos(ptrre p)
{

    if(p==NULL)
       return 0;
    else if(p->dir!=NULL && p->esq!=NULL)
               return 1+ conta_nos(p->dir)+conta_nos(p->esq);
           else return conta_nos(p->dir)+conta_nos(p->esq);
}

só acrescentar akele else ao segundo if e penso k fica a funcionar!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade