Descreva com precisão o algoritmo e as estruturas de dados (registros, hash ou listas) para construir um…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Identificar as principais formas de organizar e representar a informação de maneira estruturada (matrizes, registros, listas e grafos) ou não estruturada (números, palavras, valores verdade).
Fonte: Base Nacional Comum Curricular (MEC).Questão
Descreva com precisão o algoritmo e as estruturas de dados (registros, hash ou listas) para construir um índice invertido: dado uma coleção de documentos, produzir uma estrutura que permita, para qualquer termo, retornar a lista de documentos que o contêm. Explique como representar cada entrada, como atualizar ao processar cada documento e como realizar a busca por termo.
✍️ Questão dissertativa: veja abaixo a resposta esperada e a explicação.
Resposta esperada
Estruturas: tabela hash (mapa) de termo ? lista de postagens; cada postagem é um registro com campos {docID, frequência, (opcional) posições}. Algoritmo de construção: para cada documento D com id docID, tokenizar o texto; para cada token t, procurar t na tabela hash; se ausente, inserir chave t com lista vazia; na lista de postagens, se o último registro não tem docID igual a docID, anexar novo registro {docID,1, [pos]}; caso contrário, incrementar frequência e acrescentar posição. Para evitar duplicados ao processar um mesmo documento, atualizar o registro existente em vez de adicionar outro. Representação das postagens: listas ligadas ou arrays dinâmicos; manter postagens ordenadas por docID facilita operações de interseção em consultas múltiplas. Busca por termo: buscar t na tabela hash (O(1) médio) e retornar a lista de postagens associada; para consulta multi-termo, intersectar listas ordenadas (merge). Complexidade: construção O(total_tokens) tempo médio; busca por termo O(1) para localizar a lista, mais custo de varredura das postagens. Observações: para escala, usar compressão de postagens, blocos ou estruturas em disco e manter vocabulário em hash ou trie para memória eficiente.
Explicação
A explicação apresenta de forma clara as estruturas de dados necessárias para implementar um índice invertido, detalhando como cada entrada é representada e atualizada durante o processamento dos documentos. O algoritmo descrito assegura eficiência tanto na construção do índice quanto na busca por termos, otimizando operações com o uso de tabelas hash e listas de postagens. Além disso, menciona considerações práticas para escalabilidade e eficiência em consultas, o que é fundamental em sistemas de busca.
Raio-X da questão
índice invertido
avaliacao
estruturas de dados · algoritmos de busca
Revisar conceitos de algoritmos e estruturas de dados.
O aluno pode descrever um algoritmo de busca simples, mas não incluir a estrutura de dados necessária para um índice invertido.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Descreva um algoritmo em pseudocódigo e explique como converter dados não estruturados (linhas de texto com autor e…
- Descreva com precisão o algoritmo e as estruturas de dados (registros, hash ou listas) para um programa que mescla…
- Ao projetar um algoritmo que conta ocorrências de palavras em um texto grande, qual estrutura de dados é mais eficiente…
- Planejamento de solução: descreva uma estratégia para construir um programa que gerencie mensagens com timestamp e…
- Descreva uma solução para criar um programa que ajude a organizar a biblioteca da escola, permitindo o cadastro e a…
- Imagine que você precisa organizar informações sobre seus livros favoritos. Qual seria um bom algoritmo para organizar…
Todas as questões de Organização e representação da informação
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
