algoritmo de dijkstra - em c ++?
Nos últimos quatro dias, estou tentando entender o algoritmo do dijkstra. Mas eu não posso. Eu tenho um vetor de pontos. A partir disso, criei uma matriz de custos. Mas não sei como criar o algoritmo do dijkstra. As fontes estão disponíveis na rede, mas eu não sou do fundo da ciência da computação, então não consigo entendê-las. Eu estou tentando fazer uma função como esta
vector<int> dijkstra(costMatrix[][])
{
....
....
return vector<int>pathPointindex
}
main()
{
vector<Point> availablePoints;
costMatrix[][]=createCostMatrix();
vector<int> indexes=dijikstra(costMatrix)
for(int i=0;i<indexes.size();i++)
cout << "path points are " << availablePoints[indexes[i]] << endl;
}
Se alguém, você pode postar o código. Eu não sou preguiçoso. Mas meu projeto já ultrapassou o prazo de um dia atrás. Agora eu perdi minha esperança de entender a lógica. Agora só quero a função. "Um homem necessitado é realmente o anjo".
EDITAR: Agradecimentos especiais a "Loki astari" por sua excelente resposta