Buscar

6. Um programador propôs um algoritmo não-recursivo para o percurso em pré-ordem de uma árvore binária com as seguintes características. • Cada nó ...

6. Um programador propôs um algoritmo não-recursivo para o percurso em pré-ordem de uma árvore binária com as seguintes características. • Cada nó da árvore binária é representado por um registro com três campos: chave, que armazena seu identificador; esq e dir, ponteiros para os filhos esquerdo e direito, respectivamente. • O algoritmo deve ser invocado inicialmente tomando o ponteiro para o nó raiz da árvore binária como argumento. • O algoritmo utiliza push() e pop() como funções auxiliares de empilhamento e desempilhamento de ponteiros para nós de árvore binária, respectivamente. A seguir, está apresentado o algoritmo proposto, em que λ representa o ponteiro nulo. Com base nessas informações e supondo que a raiz de uma árvore binária com n nós seja passada ao procedimento pré-ordem(), julgue os itens seguintes. I. O algoritmo visita cada nó da árvore binária exatamente uma vez ao longo do percurso. II. O algoritmo só funcionará corretamente se o procedimento pop() for projetado de forma a retornar λ caso a pilha esteja vazia. III. Empilhar e desempilhar ponteiros para nós da árvore são operações que podem ser implementadas com custo constante. IV. A complexidade do pior caso para o procedimento pré-ordem() é O(n). Indique a opção correta. a. Apenas um item está certo. b. Apenas os itens I e IV estão certos. c. Apenas os itens I, II e III estão certos. d. Apenas os itens II, III e IV estão certos. e. Todos os itens estão certos.

Essa pergunta também está no material:

exec04-algoritmos-busca
3 pág.

Teoria da Computação Universidade PaulistaUniversidade Paulista

💡 1 Resposta

User badge image

Ed Verified user icon

Vamos analisar cada item: I. O algoritmo visita cada nó da árvore binária exatamente uma vez ao longo do percurso. Isso está correto para o percurso em pré-ordem, onde cada nó é visitado uma vez. II. O algoritmo só funcionará corretamente se o procedimento pop() for projetado de forma a retornar λ caso a pilha esteja vazia. Isso está correto, pois o procedimento pop() deve retornar λ (ponteiro nulo) caso a pilha esteja vazia. III. Empilhar e desempilhar ponteiros para nós da árvore são operações que podem ser implementadas com custo constante. Isso está incorreto. O custo de empilhar e desempilhar ponteiros para nós da árvore não é constante, mas sim proporcional à altura da árvore. IV. A complexidade do pior caso para o procedimento pré-ordem() é O(n). Isso está correto. A complexidade do pior caso para o percurso em pré-ordem é O(n), onde n é o número de nós na árvore. Portanto, a opção correta é: b. Apenas os itens I e IV estão certos.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais