两个城市之间寻找最短路径问题(广度优先搜索)
来源:互联网 发布:单片机仿真软件 mac 编辑:程序博客网 时间:2024/06/07 13:02
多个城市之间寻找最短路径《题目可以参照<算法设计与分析*吕国英……清华大学出版社>课本的P186》
#include<stdio.h>
int jz[9][9]={{0,0,0,0,0,0,0,0,0},{0,0,1,1,1,0,1,0,0},{0,1,0,0,0,0,1,0,0},{0,1,0,0,1,1,0,0,0},{0,1,0,1,0,0,0,1,0},
{0,0,0,1,0,0,0,1,1},{0,1,1,0,0,0,0,0,1},{0,0,0,0,1,1,0,0,1},{0,0,0,0,0,1,1,1,0}};
struct {
int city;
int pre;
}sq[100];
int qh,qe,i,visited[100];
int n=8;
void out() //输出路径/
{
printf("可以走的路程的路径为(数字代表城市的编号):/n/n");
printf("%d ",sq[qe].city);
while(sq[qe].pre!=0)
{
qe=sq[qe].pre;
printf("-- %d ",sq[qe].city);
}
printf("/n/n");
}
void search()
{
qh=0;
qe=1;
sq[1].city=1;
sq[1].pre=0;
visited[1]=1;
while(qh!=qe)//当队不空//
{
qh=qh+1; //结点出队/
for(i=1;i<=n;i++)//扩展结点/
if(jz[sq[qh].city][i]==1&&visited[i]==0)
{
qe=qe+1; //结点入队/
sq[qe].city=i;
sq[qe].pre=qh;
visited[i]=1;
if (sq[qe].city==8)
{
out();
return;
}
}
}
printf("没有可以走的路!/n");
}
void main()
{
int i;
for(i=1;i<=n;i++)
{
visited[i]=0;
}
search();
}
- 两个城市之间寻找最短路径问题(广度优先搜索)
- 城市最短路径问题--图的广度优先搜索
- 迷宫问题(广度优先搜索,输出最短路径)
- (原创)广度优先搜索解决最短路径问题
- Python小程序:用广度优先搜索算法查询两个url之间的最短路径
- 最短路径条数问题 - 广度优先搜索
- 无权最短路径-广度优先搜索
- 最短路径算法-广度优先搜索
- 无权最短路径-广度优先搜索
- 广度优先搜索 最短路径 队列
- 广度优先搜索之最短路径
- 无权最短路径 广度优先搜索
- 最短路径算法-广度优先搜索
- 迷宫最短路径 --- 广度优先搜索(广搜)
- 算法之------深度优先搜索DFS和广度优先搜索BFS(最短路径)
- BFS广度搜索(最短路径问题)
- 最短路径/广度优先
- 广度优先搜索迷宫的最短路径走法!
- ISO Latin—1字符集(编码160-255)
- 整数划分的非递归算法(C语言)
- 关于软件试用的重要通知
- C/C++——全局变量、局部变量、静态全局变量和静态局部变量
- u-boot源码配置原理分析
- 两个城市之间寻找最短路径问题(广度优先搜索)
- 两艘船装在全部货物问题(船舶装载问题)FIFO分支搜索
- 提权
- Jquery教程
- 1~9组成9位数前i位能被i整除
- 回溯法解八皇后问题
- javaScript 中的hashMap
- Make VisualAssist recognize customized files
- weblogic92的AdminServe.lok Unable to obtain lock