Meu professor passou os seguintes problemas:
Escrever uma função para contar o número de nós de uma arvore binária
nos seguintes casos:
a) Utilizando representação ligada em vetor
b) Utilizando representação com alocação dinâmica
eu pensei que poderia utilizar a função de percorrer em-ordem uma arvore binária para poder realizar a conta
mas a lógica para as duas acabou sendo a mesma, e não consegui sair disso.
segue o código da função
int cont = 0; // Contador
RPV (No Raiz){// RPV, representação ligada em vetor
if( raiz != NULL){
cont++;
RPV(Raiz.esq);//Pega o filho a esquerda da raiz, para passar para a função novamente
RPV(Raiz.dir);//Pega o filho a direita da raiz, para passar para a função novamente
}
Tanto para A e para a opção B a lógica pra mim parece a mesma não consigo pensar em outra forma
alguem pode me ajudar dizendo se isto está certo, e se não, me encaminhar para conseguir realizar isso.