|
|
@ -156,7 +156,7 @@ private:
|
|
|
|
### 3.2 核心算法的实现
|
|
|
|
### 3.2 核心算法的实现
|
|
|
|
系统的核心算法主要包括最短路径算法和站点搜索算法。
|
|
|
|
系统的核心算法主要包括最短路径算法和站点搜索算法。
|
|
|
|
|
|
|
|
|
|
|
|
##最短路径算法采用Dijkstra算法实现,该算法的时间复杂度为O(n^2),其中n为站点数。具体实现方式如下:##
|
|
|
|
最短路径算法采用Dijkstra算法实现,该算法的时间复杂度为O(n^2),其中n为站点数。具体实现方式如下:
|
|
|
|
|
|
|
|
|
|
|
|
1.初始化距离dist和最短路径标记visited数组。
|
|
|
|
1.初始化距离dist和最短路径标记visited数组。
|
|
|
|
2.将起点的距离dist设为0,将visited标记设为false。
|
|
|
|
2.将起点的距离dist设为0,将visited标记设为false。
|
|
|
@ -164,7 +164,7 @@ private:
|
|
|
|
4.将v标记为已访问,对于v的每个邻居站点u,如果dist[u]>dist[v]+v到u的距离,更新dist[u]为dist[v]+v到u的距离。
|
|
|
|
4.将v标记为已访问,对于v的每个邻居站点u,如果dist[u]>dist[v]+v到u的距离,更新dist[u]为dist[v]+v到u的距离。
|
|
|
|
5.重复以上步骤,直到所有站点都被标记为已访问或者没有可访问的站点。
|
|
|
|
5.重复以上步骤,直到所有站点都被标记为已访问或者没有可访问的站点。
|
|
|
|
|
|
|
|
|
|
|
|
### 站点搜索算法采用DFS算法实现,该算法的时间复杂度为O(n^2),其中n为站点数。具体实现方式如下:
|
|
|
|
站点搜索算法采用DFS算法实现,该算法的时间复杂度为O(n^2),其中n为站点数。具体实现方式如下:
|
|
|
|
|
|
|
|
|
|
|
|
1.初始化visited数组。
|
|
|
|
1.初始化visited数组。
|
|
|
|
2.从起点出发,采用深度优先搜索方式,访问所有邻居站点。
|
|
|
|
2.从起点出发,采用深度优先搜索方式,访问所有邻居站点。
|
|
|
|