广工 数据结构 7.23
来源:互联网 发布:安卓软件开发课程 编辑:程序博客网 时间:2024/05/01 00:08
7.23③ 同7.22题要求。试基于图的广度优先搜索策略写一算法。
实现下列函数:
Status BfsReachable(ALGraph g, int i, int j);
/* Determine whether it exists path from vertex i to */
/* vertex j in digraph g with Breadth_First Search. */
/* Array 'visited' has been initialed to 'false'. */
图的邻接表以及相关类型和辅助变量定义如下:
Status visited[MAX_VERTEX_NUM];
typedef char VertexType;
typedef struct ArcNode {
int adjvex;
struct ArcNode *nextarc;
} ArcNode;
typedef struct VNode {
VertexType data;
ArcNode *firstarc;
} VNode, AdjList[MAX_VERTEX_NUM];
typedef struct {
AdjList vertices;
int vexnum, arcnum;
} ALGraph;
Status InitQueue(Queue &q);
Status EnQueue(Queue &q, int e);
Status DeQueue(Queue &q, int &e);
Status QueueEmpty(Queue q);
实现下列函数:
Status BfsReachable(ALGraph g, int i, int j);
/* Determine whether it exists path from vertex i to */
/* vertex j in digraph g with Breadth_First Search. */
/* Array 'visited' has been initialed to 'false'. */
图的邻接表以及相关类型和辅助变量定义如下:
Status visited[MAX_VERTEX_NUM];
typedef char VertexType;
typedef struct ArcNode {
int adjvex;
struct ArcNode *nextarc;
} ArcNode;
typedef struct VNode {
VertexType data;
ArcNode *firstarc;
} VNode, AdjList[MAX_VERTEX_NUM];
typedef struct {
AdjList vertices;
int vexnum, arcnum;
} ALGraph;
Status InitQueue(Queue &q);
Status EnQueue(Queue &q, int e);
Status DeQueue(Queue &q, int &e);
Status QueueEmpty(Queue q);
Status GetFront(Queue q, int &e);
Status BfsReachable(ALGraph g, int i, int j)
/* Determine whether it exists path from vertex i to */
/* vertex j in digraph g with Breadth_First Search. */
/* Array 'visited' has been initialed to 'false'. */
{
Queue Q;
InitQueue( Q );
EnQueue( Q, i );
int u;
ArcNode *p;
int k;
while( ! QueueEmpty ( Q ) ) {
DeQueue( Q, u );
visited[u] = 1;
for( p = g.vertices[u].firstarc; p; p = p->nextarc ) {
k = p->adjvex;
if( k == j ) return OK;
if( !visited[k] ) EnQueue( Q,k );
}
}
return FALSE;
}
0 0
- 广工 数据结构 7.23
- 广工数据结构
- 广工 数据结构 10.26
- 广工 数据结构 9.45
- 广工AnyView数据结构-1
- 广工AnyView数据结构-2
- 广工AnyView数据结构-3
- 广工AnyView数据结构-4
- 广工anyview数据结构-6
- 2015广工数据结构anyview题库
- 广工anyview数据结构-03(乱码不贴)
- 广工anyview数据结构-04~06(乱码不贴)
- 广工anyview数据结构-07~08(乱码不贴)
- 广工anyview数据结构-09~10(乱码不贴)
- 广工anyview数据结构-01~02(部分乱码我就不贴出来了)
- 数据结构之图【深搜,广搜】
- java数据结构 广搜,队列,循环队列
- C-数据结构-图-深、广遍历
- POJ 1751 Prim
- HDU 3657 Game | 最小割 (补)
- EXT4.1 tabpanel
- Irrlicht例程05:创造一个有声世界(下)
- Android dev tips(update at 2015-11-26)
- 广工 数据结构 7.23
- Nginx的Upstream负载均衡与反向代理的配置
- android初级阶段总结
- D3D MipMap解析
- 获取异常堆栈消息
- iOS开发OpenGL ES教程之透视
- 字符串
- 委托和观察者模式
- SPOJ AMR 10A Playground 计算几何