概述
1、算法思想:
从给定的第一个点出发,首先检查它的所有相邻顶点,再依次访问它相邻顶点的,在访问相邻顶点时,检查其所有相邻顶点,重复这个过程直到找到给定的第二个点。在调用顶点的过程中,依次保存各顶点,并对访问过的顶点进行标记,标记过的顶点不再进行重复访问,直到找到终点。若在一条路径中未找到终点,则递归返回上一个点后要更新路径,重复这个过程直到找到终点。举例如下:
要找到 A 到 E 的最短路径
访问A,保存A
检查C,不是终点
检查E,是终点
访问E,保存A E
检查E,找到终点,结束
2、伪代码:
void chazhao(Graph* G,int v,int w,int* a,int n){
int t1,t2;
Q->enqueue(v);
G->setMark(v,VISITED);
while(Q->length()!=0){
t1=Q->dequeue();
a[n++]=t1;
for(t2=G->first(t1);t2<G->n();t2++){
if(G->getMark(t2)==UNVISITED){
G->setMark(t2,VISITED);
Q->enqueue(t2);
}
if(t2==w){
a[n]=t2; return;
}
}
}
}
最后
以上就是追寻毛衣为你收集整理的求无权图中指定两点的最短路径的全部内容,希望文章能够帮你解决求无权图中指定两点的最短路径所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复