摘要:
上一篇谈到了求最短路和最短路距离matrix的问题。这里简要记录下如何根据adjacency matrix 和Distance Matrix 求最短路径中每一个节点。 for (int i = 0; i < n; ++i) { next[i][i] = i; for (int j = 0; j < n; ++j) { if (i != j) { next[i][j] = -1; for (int k : adjList[i]) { if (distMatrix[i][j] == distMatrix[k][j] + 1) next[i][j] = k; } } } 阅读全文
posted @ 2011-02-12 04:56
cactuswisper
阅读(193)
评论(0)
推荐(0)
摘要:
在比较简单的情况下,当单条路径的距离固定为一的时候(比如计算分子中各个原子的距离)可以用表格来处理。只需要adjacency matrix. private static int[][] doDijkstra(int[][] adjList) { int n = adjList.length; int[][] distMatrix = new int[n][n]; for (int i = 0; i < n; ++i) { //对于列表中的每一行 for (int j = 0; j < n; ++j) //距离先设为无限大 distMatrix[i][j] = 阅读全文
posted @ 2011-02-12 04:36
cactuswisper
阅读(718)
评论(0)
推荐(0)

浙公网安备 33010602011771号