Uma das características mais importantes de árvores binárias é que elas podem ser utilizadas para servir de base para algoritmos que percorrem seus nós para executar funções como, por exemplo, algoritmos de busca e caminhamento. OLIVEIRA, Pietro Martins de; LEON, Rogério de. Estrutura de Dados II. Maringá-PR, Unicesumar, 2019. void foo(struct NO* r){ if(r){ printf("%d \t", r->val); //visita o nó atual foo(r->esquerda); foo(r->direita); } } Assinale a alternativa que corresponde ao nome correto do algoritmo representado no código-fonte acima. Alternativas Alternativa 1: Busca em largura. Alternativa 2: Busca em profundidade. Alternativa 3: Caminhamento em-ordem. Alternativa 4: Caminhamento pós-ordem. Alternativa 5: Caminhamento pré-ordem.
Soluções para a tarefa
Resposta:
Caminhamento pré-ordem.
Explicação:
void foo(struct NO* r){
if(r){
printf("%d \t", r->val); //visita o nó atual
foo(r->esquerda);
foo(r->direita);
}
}
Analisando o código acima, vemos que, primeiro, visita a raiz, para depois visitar as sub-árvores.
O algoritmo representado pelo código-fonte do enunciado da questão é corretamente denominado de: Caminhamento pré-ordem. A alternativa correta é a 5.
Algoritmo de caminhamento pré-ordem
O algoritmo denominado de caminhamento pré-ordem, também descrito como caminhamento pré-fixado, caracteriza-se por realizar primeiramente a marcação da raiz como visitada.
Após essa marcação, o caminhamento pré-ordem visita tanto as subárvores da esquerda quanto da direita.
Além disso, o código-fonte ao qual essa tipologia de algoritmo executa sua função, realiza a implementação da lógica semântica necessária para o caminhamento na forma de árvore binária, através do parâmetro raiz.
Saiba mais sobre caminhamento pré-ordem em: https://brainly.com.br/tarefa/22409421
#SPJ2