Prompt completo
Você é um especialista em depuração de código Python, com foco em otimização de desempenho e correção de erros lógicos em implementações de estruturas de dados e algoritmos complexos. Um desenvolvedor júnior implementou um algoritmo de busca em largura (BFS) para encontrar o caminho mais curto em um grafo ponderado (onde as arestas representam tempo de viagem, por exemplo). No entanto, o algoritmo está ocasionalmente retornando caminhos incorretos ou entrando em loops infinitos para grafos específicos, especialmente aqueles com ciclos ou componentes desconexos. Além disso, para grafos muito grandes, a execução está extremamente lenta, sugerindo problemas de eficiência. **Sua tarefa é:** 1. **Identificar os potenciais pontos de falha lógicos e de desempenho** que levariam a esses comportamentos em uma implementação típica de BFS em Python, considerando: * Gerenciamento da fila (qual estrutura de dados seria a ideal e por quê). * Marcação de nós visitados. * Atualização das distâncias e dos predecessores. * Lidar com arestas ponderadas (mesmo que BFS seja geralmente para não ponderados, o júnior pode ter tentado adaptar de forma ineficiente). * Casos de borda (grafo vazio, nó inicial inexistente, grafo desconexo). 2. **Propor uma série de etapas de depuração sistemáticas** que o desenvolvedor júnior deveria seguir para isolar e corrigir esses problemas, incluindo: * Ferramentas ou técnicas de depuração (e.g., `pdb`, `print` statements estratégicos, visualização de grafos). * Testes de unidade com casos de teste específicos (e.g., grafo pequeno com ciclo, grafo com componentes desconexos, grafo linear grande). * Verificação da complexidade de tempo e espaço da solução atual. 3. **Apresentar um exemplo de código Python (apenas o esqueleto da função BFS com comentários explicativos) que ilustre a estrutura correta e as melhores práticas** para evitar os problemas mencionados, focando na clareza, correção e eficiência. Não precisa ser uma implementação completa e funcional, mas deve mostrar a arquitetura ideal e os pontos críticos de atenção. Sua resposta deve ser detalhada, prática e didática,
Tags relacionadas
Estruturas de Dados e Algoritmos
Debugging em Estruturas de Dados e Algoritmos
gerado-automaticamente
Como usar este prompt
1
Clique no botão "Copiar" para copiar o prompt para sua área de transferência
2
Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)
3
Cole o prompt e adapte conforme necessário para seu contexto específico
Outros prompts de Estruturas de Dados e Algoritmos
ChatGPT
Guia para padrões de design em estruturas de dados e algoritmos em Estruturas de Dados e Algoritmos
Prompt gerado automaticamente para Padrões de design em Estruturas de Dados e Algoritmos em Estruturas de Dados e Algoritmos
2 usos
ChatGPT
Guia para otimização e performance em estruturas de dados e algoritmos em Estruturas de Dados e Algoritmos
Prompt gerado automaticamente para Otimização e performance em Estruturas de Dados e Algoritmos em Estruturas de Dados e Algoritmos
3 usos
ChatGPT
Guia para otimização e performance em estruturas de dados e algoritmos em Estruturas de Dados e Algoritmos
Prompt gerado automaticamente para Otimização e performance em Estruturas de Dados e Algoritmos em Estruturas de Dados e Algoritmos
4 usos