Implementação Caixeiro Viajante

Sou iniciante em Java, e o professor solicitou a implementação do grafo do caixeiro viajante.

Preciso fazer um programa Java OO que permita cadastrar vários grafos diferentes. A entrada dos dados para cada grafo deve iniciar pelos nós e encerrar pelas arestas, ou seja, inicialmente leia todos os nós; após, faça a leitura de todas as arestas indicando qual o nó origem e destino (que já devem estar cadastrados).
Ao final, permita ao usuário selecionar um dos grafos cadastrados e imprima todos os dados lidos e o custo total do grafo, que é a soma dos custos de todos os elementos. O resultado deve ter o seguinte formato
(tomando o grafo da figura ao lado como exemplo):

Grafo Exemplo1
Nó V1 (inicial, custo 10.0) ligado a V2 por e2, a V3 por e3, a V5 por e1.
Nó V2 (intermediário, custo 12.2) ligado a V1 por e2, a V3 por e4, a V4 por e6.

Aresta e1 (custo 1.5) liga V1 a V5.
Aresta e2 (custo 1.5) liga V1 a V2.

Aresta e10 (custo 1.6) liga V5 a V6.
Custo total do grafo Exemplo1: 72,3

Se alguém tiver algum material referente a este problema que possa
me enviar ficaria muito grata.

Dede já agradeço a todos! :joia:

Olha só Denise, isso que você está pedindo já causou bastante polemica aqui no forum.
A idéia do forum é auxiliar nas dúvidas ou erros que estão acontecendo no seu projeto.
Dessa maneira para que você não seja má interpretada por favor, coloque o código que você tem e detalhe o problema que está ocorrendo.
Toda a lógica do seu trabalho já está dita no enunciado, só falta a implementação.

Poste as dúvidas que o pessoal irá com certeza te auxiliar no trabalho. :roll: