邻接表的建立和广度优先遍历
来源:互联网 发布:交换机端口有ip地址吗 编辑:程序博客网 时间:2024/05/21 17:27
#include <stdio.h>#include <malloc.h>#define MAX_VEX 50typedef struct NODE{int vertex; //顶点的索引struct NODE *next; //下一个表结点}EdgeNode; //表结点typedef struct{char vex;EdgeNode *first; //第一个表结点}Vertex; //表头结点typedef struct{Vertex vex[MAX_VEX];int n,e;}GRAPH;//建立临接表void Create(GRAPH *G){printf("输入顶点数:\n");scanf("%d",&G->n);printf("输入边数:\n");scanf("%d",&G->e);getchar();EdgeNode *p;int i,k,j;for(i = 0 ; i < G->n ; ++i) //建立顶点表{scanf("%c",&G->vex[i].vex);G->vex[i].first = NULL;}for(k = 0 ; k < G->e ; ++k) // 建立边表{ //类似于头插法创建链表scanf("%d %d",&i,&j);p = (EdgeNode*)malloc(sizeof(EdgeNode));p->next = G->vex[i].first;p->vertex = j;G->vex[i].first = p;p = (EdgeNode*)malloc(sizeof(EdgeNode));p->next = G->vex[j].first;p->vertex = i;G->vex[j].first = p;}}//广度优先遍历void BFS(GRAPH *G,int k){EdgeNode *p;int Queue[MAX_VEX]; //循环队列int Front = -1,rear = -1,amount = 0;int visited[MAX_VEX];int i;for(i = 0 ; i < MAX_VEX ; ++i)visited[i] = 0;printf("访问顶点:%c\n",G->vex[k].vex);visited[k] = 1;rear = (rear + 1) % MAX_VEX; // 入队Front = 0;Queue[rear] = k;++amount;while(amount > 0){i = Queue[Front]; // 出队Front = (Front + 1) % MAX_VEX;--amount;p = G->vex[i].first;while(p){if(visited[p->vertex] == 0){printf("访问顶点:%c\n",G->vex[p->vertex].vex);visited[p->vertex] = 1;rear = (rear + 1) % MAX_VEX; //入队Queue[rear] = p->vertex;++amount;}p = p->next;}}}int main(int argc, char *argv[]){GRAPH G;Create(&G);BFS(&G,0);return 0;}
1 0
- 邻接表的建立和广度优先遍历
- 建立图的邻接表储存并实现深度优先和广度优先遍历
- 邻接表-图的遍历-广度和深度优先遍历
- 【图】图的邻接表存储和广度优先遍历
- 邻接图的广度优先遍历和深度优先遍历
- 邻接表的深度优先遍历以及广度优先遍历
- 无向图的深度优先遍历和广度优先遍历(邻接链表)
- 关于邻接表和其深度优先遍历、广度优先遍历的问题
- 邻接表实现--图的深度优先遍历DFS和广度优先遍历BFS
- 图邻接表存储 深度优先和广度优先遍历
- 邻接表深度优先遍历和广度遍历
- 图的建立、广度优先遍历和深度优先遍历
- 基于邻接表储存的图的深度优先和广度优先遍历
- 图的深度优先和广度优先遍历算法(用邻接表作为存储结构)
- 邻接表存储图,深度和广度优先遍历
- 基于邻接表的图的广度优先遍历算法
- 图的邻接表存储下的广度优先遍历
- 图的广度优先遍历(邻接表存储)
- TDI驱动编程
- Eclipse中配置tomcat
- 16 Android 文件存储
- Cadence 16.5 OrCAD Capture CIS 突然打不开(解决办法)
- 深度围观block:第一集
- 邻接表的建立和广度优先遍历
- Windows Server 2003发生 Userenv 错误事件ID1058、1030
- codeforces-379A. New Year Candles
- 深度围观block:第二集
- 从《古惑仔》里看流氓的数据陷阱
- PHP_AJAX实例1
- Unity随心记
- 春运抢火车票攻略汇总(持续更新中)
- OGNL