日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

DIJKSTRA

發(fā)布時(shí)間:2025/1/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DIJKSTRA 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

dijkstra

  • 已經(jīng)確定最短的頂點(diǎn)數(shù)組【U】 【U】+【u】【v】 < 【v】,那么就更新
  • 每次找到還沒(méi)有確定的最小數(shù)值
  • 先確認(rèn)一個(gè)最小值
    • 之后再?gòu)倪@個(gè)數(shù)值出來(lái),到V距離之和與V進(jìn)行比較
//Given a signed 32-bit integer x, return x with its digits reversed. If reversi //ng x causes the value to go outside the signed 32-bit integer range [-231, 231 - // 1], then return 0. // // Assume the environment does not allow you to store 64-bit integers (signed or // unsigned). // // // Example 1: // Input: x = 123 //Output: 321 // Example 2: // Input: x = -123 //Output: -321 // Example 3: // Input: x = 120 //Output: 21 // Example 4: // Input: x = 0 //Output: 0 // // // Constraints: // // // -231 <= x <= 231 - 1 // // Related Topics 數(shù)學(xué) // 👍 2958 👎 0// A C++ program for Dijkstra's single source shortest path algorithm. // The program is for adjacency matrix representation of the graph #include <iostream> using namespace std; #include <limits.h>// Number of vertices in the graph #define V 9// A utility function to find the vertex with minimum distance value, from // the set of vertices not yet included in shortest path tree int minDistance(int dist[], bool sptSet[]) {// Initialize min valueint min = INT_MAX, min_index;for (int v = 0; v < V; v++)if (sptSet[v] == false && dist[v] <= min)min = dist[v], min_index = v;return min_index; }// A utility function to print the constructed distance array void printSolution(int dist[]) {cout <<"Vertex \t Distance from Source" << endl;for (int i = 0; i < V; i++)cout << i << " \t\t"<<dist[i]<< endl; }// Function that implements Dijkstra's single source shortest path algorithm // for a graph represented using adjacency matrix representation void dijkstra(int graph[V][V], int src) {int dist[V]; // The output array. dist[i] will hold the shortest// distance from src to ibool sptSet[V]; // sptSet[i] will be true if vertex i is included in shortest// path tree or shortest distance from src to i is finalized// Initialize all distances as INFINITE and stpSet[] as falsefor (int i = 0; i < V; i++)dist[i] = INT_MAX, sptSet[i] = false;// Distance of source vertex from itself is always 0dist[src] = 0;// Find shortest path for all verticesfor (int count = 0; count < V - 1; count++) {// Pick the minimum distance vertex from the set of vertices not// yet processed. u is always equal to src in the first iteration.int u = minDistance(dist, sptSet);// Mark the picked vertex as processedsptSet[u] = true;// Update dist value of the adjacent vertices of the picked vertex.for (int v = 0; v < V; v++)// Update dist[v] only if is not in sptSet, there is an edge from// u to v, and total weight of path from src to v through u is// smaller than current value of dist[v]if (!sptSet[v] && graph[u][v] && dist[u] != INT_MAX&& dist[u] + graph[u][v] < dist[v])dist[v] = dist[u] + graph[u][v];}// print the constructed distance arrayprintSolution(dist); }// driver program to test above function int main() {/* Let us create the example graph discussed above */int graph[V][V] = { { 0, 4, 0, 0, 0, 0, 0, 8, 0 },{ 4, 0, 8, 0, 0, 0, 0, 11, 0 },{ 0, 8, 0, 7, 0, 4, 0, 0, 2 },{ 0, 0, 7, 0, 9, 14, 0, 0, 0 },{ 0, 0, 0, 9, 0, 10, 0, 0, 0 },{ 0, 0, 4, 14, 10, 0, 2, 0, 0 },{ 0, 0, 0, 0, 0, 2, 0, 1, 6 },{ 8, 11, 0, 0, 0, 0, 1, 0, 7 },{ 0, 0, 2, 0, 0, 0, 6, 7, 0 } };dijkstra(graph, 0);return 0; }// This code is contributed by shivanisinghss2110//leetcode submit region end(Prohibit modification and deletion)

2:leetcode 754 題目

總結(jié)

以上是生活随笔為你收集整理的DIJKSTRA的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。