Menor ou melhor rota em uma matriz

Fala galera blz?

To desenvolvendo o projeto de conclusão na facul e preciso fazer o seguinte:

Se sempre vou ver uma matriz quadrada por exemplo matriz[3][3], ou seja, eu tenho 4 nós (0 a 3). Nesta matriz representa a ligação entre os nos e o peso de cada aresta (ligação).
ex:
0 1 2 3
0| 0 3 0 2
1| 3 0 5 0
2| 0 5 0 4
3| 2 0 4 0

A tradução dessa matriz seria assim:
o nó 1 está ligado no nó 0 e o peso é 3, o nó 2 está ligado no nó 1 e o peso é 5, o nó 3 está ligado no nó 0 e o peso é 2, e assim por diante.
Preciso implementar um algorítmo que calcule a menor rota entre os dois pontos. Por exemplo: do nó 0 ao nó 2 qual o melhor caminho? 0-1-2 ou 0-3-2. Nesse caso o melhor caminho seria 0-3-2, pois o total dos pesos = 6 e no caminho 0-3-2 o peso total é 8.

Estou quebrando a cabeça, porque eu estudei durante o curso somente algoritmos de ordenação bubble sort, merge sort etc.

alguém ai pode me dar uma luz???

valew galera!!!

Acho que é isto aqui.

Se quiser um algoritmo mais rápido:
http://www.policyalmanac.org/games/aStarTutorial_port.htm

Eu procurei sobre Dijskra, o problema é implementar ele em J2ME.
Se alguém tiver uma referência simpleste só pra eu ter uma idéia.
http://www.policyalmanac.org/games/aStarTutorial_port.htm este site até que parece que ensina direitinho… Mas vou ter que gastar um tempo maior para entender por causa da tradução né rsrsrsrsrs…

Se não me engano o equivalente ao Djikstra em matrizes é o de Floyd-Warshall (ou algo parecido).