O metro de Paris é um serviço de transporte público que abrange cerca de 220 km da área metropolitana de
Paris. Pode transportar diariamente cerca de 5.23 milhões de pessoas que percorrem as suas estações
distribuídas por várias linhas1. O presente projeto envolve a criação de uma biblioteca de classes, respetivos
métodos e testes que permitam gerir a rede de metro de Paris e sugerir trajetos aos utentes em função dos
seus objectivos.
Para tal dispõe-se da seguinte informação relativa à rede de metro Paris:
coordinates.csv –localização geográfica das estações
Nome_da_Estação, Latitude, Longitude
Lines_and_stations.csv – linha e respectivas estações
Código_da_Linha, Nome_da_Estação
connections.csv – conexões entre estações na mesma linha e o tempo médio de viagem entre as duas
estações (em minutos).
Linha, Estação_1, Estação_2, Tempo
Usando a representação map de adjacência pretende-se que desenvolvam da forma mais eficiente possível as
seguintes funcionalidades:
1. Criar o grafo da rede de metro de Paris.
2. Verificar se o grafo é conexo, se não for devolver os seus componentes.
3. Criar uma classe Percurso com toda a informação relativa a um percurso incluindo as linhas, as estações
percorridas em cada linha e o instante em que passa em cada estação, dado um instante inicial do
percurso.
4. Dada uma estação origem e uma estação destino encontrar o caminho mínimo entre estas quanto ao
número de estações, devolvendo uma instância da classe Percurso.
5. Dada uma estação origem, uma estação destino e um instante inicial encontrar o caminho mínimo entre
estas quanto ao tempo a percorrer, devolvendo uma instância da classe Percurso.
6. Dada uma estação origem e uma estação destino encontrar o caminho mínimo entre estas quanto ao
número de mudanças de linha, devolvendo uma instância da classe Percurso.
7. Dada uma estação origem, uma estação destino, um instante inicial e um conjunto de outras estações
intermédias, encontrar o caminho mínimo, quanto ao tempo a percorrer, entre a estação inicial e a final
que passe obrigatoriamente por todas as estações intermédias, devolvendo uma instância da classe
Percurso.
Prazo de Entrega: Não estabelecido