database - 我想打印最少的道路数据
问题描述
我想打印最小道路,但我不知道我必须选择哪个变量,有人可以帮我吗?代码是西班牙语。
int algoritmo(const int begin, const int end, const Graph graph)
{
priority_queue<State> pq; // La cola de prioridad.
vector<int> Dist(graph.V, oo); // La distancia hacia todos los vertices. Inicialmente para cada vertice su valor es infinito.
vector<bool> mark(graph.V, false); // Este arreglo nos permitira determinar los nodos procesados.
Dist[begin] = 0; // Valor inicial del vertice de partida.
pq.push(State(begin, 0)); // Agregamos el primer elemento, que no es mas que el vertice de partida.
while(!pq.empty()) // Mientras existan vertices por procesar.
{
State st = pq.top(); pq.pop(); // Se desencola el elemento minimo.
mark[st.node] = true;// Se marca el nodo como visitado.
if (st.node == end)
return st.cost; // Retornamos el valor del camino, hemos llegado al vertice destino.
int T = (int)graph.G[st.node].size();
for(int i = 0; i < T; ++i) // Se recorren las adyacencias de "a".
{
// Si no ha sido procesado el vertice "vi" y la distancia hacia "vi" es menor a la distancia
// en Dist entonces hemos encontrado un camino mas corto a "vi".
if (!mark[graph.G[st.node][i].node] && ((Dist[st.node] + graph.G[st.node][i].cost) < Dist[graph.G[st.node][i].node]))
{
Dist[graph.G[st.node][i].node] = st.cost + graph.G[st.node][i].cost;
pq.push(State(graph.G[st.node][i].node, st.cost + graph.G[st.node][i].cost));
}
}
//cout<<st.node<<endl;
}
return -1; // Si no se puede llegar al destino, retornar -1.
}
解决方案
推荐阅读
- python - Python Web Scraping:urllib.request.urlopen 挂起
- react-native - react-native-phone-input white content on iphone
- java - Oracle JDBC 在 RedHat 7.7 上不再需要从套接字读取数据
- linux - 使用套接字传输时间
- android - Android Studio 代码复制粘贴问题
- python - 使用 Zenpy 从 Zendesk 获取增量数据
- windows - iis 应用程序未出现在性能监视器中
- php - 在本地主机上执行时,laravel 中的 AWS SES 显示错误
- php - 更新:未找到 Laravel View []
- windows - 试图找到与 Ansible 一起使用的 Windows 组策略密钥