Ed
há 2 meses
Vamos analisar o pseudocódigo e as alternativas apresentadas. O pseudocódigo é uma função recursiva que busca um nodo em uma árvore binária. A lógica básica está correta, mas vamos verificar as falhas lógicas: 1. A. Falta tratar raiz nula. - O código já trata o caso em que `n` é nulo, retornando `null`. Portanto, essa alternativa não é a falha crítica. 2. B. O caso de igualdade deveria retornar null. - Isso não faz sentido, pois o objetivo da busca é encontrar o nodo correspondente à chave. Retornar `null` nesse caso não é correto. 3. C. As chamadas recursivas inverteram esquerda/direita ao comparar maior/menor. - Essa é uma falha crítica. O código está correto ao chamar `buscaRec(n.direita, chave)` quando `chave > n.chave` e `buscaRec(n.esquerda, chave)` quando `chave < n.chave`. Portanto, essa alternativa não é a falha. 4. D. A função nunca retorna em árvores com duplicatas. - O pseudocódigo não trata duplicatas, mas isso não é uma falha lógica crítica em relação à busca em si, apenas uma limitação. 5. E. O teste de maior deveria ser >= para evitar recursão. - Essa é uma falha crítica, pois se a árvore contém duplicatas, o código pode entrar em um loop infinito ao não tratar corretamente a condição de igualdade. Após essa análise, a falha lógica mais crítica no pseudocódigo é a alternativa E. O teste de maior deveria ser >= para evitar recursão.


Cadastre-se ou realize login
Ao continuar, você aceita os Termos de Uso e Política de Privacidade