#include <iostream>
using namespace std;
#define Maxsize 100
typedef char VertexType;
typedef int EdgeType;typedef struct ArcNode{ //存储边 int adjvex;struct ArcNode *nextarc;
}ArcNode;
typedef struct VNode{VertexType data;ArcNode *firstarc;
}VNode;
typedef struct{VNode adjlist[Maxsize];int vexnum,arcnum;
}AGraph; bool visited[Maxsize];
void BFS(AGraph *G,int v){ArcNode *p;Queue Q;InitQueue(Q);visit(v);visited[v]=True;Enqueue(&Q,v);while(!IsEmpty(Q)){DeQueue(&Q,v);p=G->adjlist[v].firstarc;while(p!=NULL){if(visited[p->adjvex]==False){visit(p->adjvex);visited[p->adjvex]=True;EnQueue(&Q,p->adjvex);}p=p->nextarc;}}
}bool DFS(AGraph *G,int v){ArcNode *p;visit(v);visited[v]=True;p=G->adjlist[v].firstarc;while(p!=NULL){if(visited[p->adjvex]==False)DFS(G,p->adjvex);p=p->nextarc;}
} 

利用邻接表完成图的BFS和DFS相关推荐

  1. 邻接表存储图利用BFS遍历

    //今天上机写的邻接表存储图利用BFS遍历: #include<stdio.h> #include<stdlib.h> #include<string.h> #in ...

  2. 图2——利用邻接表创建有向图

    图2--利用邻接表创建有向图 图 假设以邻接表作为图的存储结构,编写算法,创建有向图并输出邻接表. 主要考查对邻接表的理解.图的邻接表分为两个部分:表头结点和边表结点,因此创建有向图也分成两部分:一是 ...

  3. QDUOJ 生化危机 邻接表存图+BFS

    生化危机 发布时间: 2015年10月10日 18:05   时间限制: 1000ms   内存限制: 256M 描述 X博士想造福人类, 研发一种可以再生肢体的药物, 可是很不幸......研究失败 ...

  4. 数据结构(廿六) -- C语言版 -- 图 - 图的遍历 -- 邻接表 - 深度/广度优先遍历/搜索(DFS、BFS)

    内容预览 零.读前说明 一.深度优先遍历 1.1.深度优先的遍历过程 1.2.深度优先的遍历实现代码 二.广度优先遍历 2.1.广度优先的遍历过程 2.2.广度优先的遍历实现代码 三.源码测试效果 3 ...

  5. 邻接表存储图的广度优先遍历

    试实现邻接表存储图的广度优先遍历. 函数接口定义: void BFS ( LGraph Graph, Vertex S, void (*Visit)(Vertex) ); 其中LGraph是邻接表存储 ...

  6. mysql 邻接表_图的邻接表存储结构详解

    通常,图更多的是采用链表存储,具体的存储方法有 3 种,分别是邻接表.邻接多重表和十字链表. 本节先讲解图的邻接表存储法.邻接表既适用于存储无向图,也适用于存储有向图. 在具体讲解邻接表存储图的实现方 ...

  7. 邻接表建立图(c语言)

    邻接表建立图 有向图 无向图 邻接表存图进行拓扑排序 不得不说网上的真的是太乱了,看得我脑壳疼 自己写的可以,感觉好的话可以当成模板. 有向图 代码: #include<stdio.h> ...

  8. 【图论】关于邻接表建图

    邻接表 作为一名现役Oier在做过无数图论题目和搜索题目之后,可以说是相当熟悉了,但是今天做的一道题,让我对于邻接表表示直接懵逼,原来在跑最短路的时候还是明白每个数组各自的作用的,然而一旦在其它题目中 ...

  9. 用邻接表存储图c语言,邻接表、邻接多重表、十字链表及C语言实现

    上一节介绍了如何使用顺序存储结构存储邻接多重表和 邻接的意思是顶点之间有边或者弧存在,通过当前顶点,可以直接找到下一个顶点. 邻接表 使用邻接表存储图时,对于图中的每一个顶点和它相关的邻接点,都存储到 ...

最新文章

  1. 微擎删除分类无法删除解决-select in效率低解决办法
  2. 失败的windows系统服务调用readfile():管道已结束?_操作系统之进程详解(一)
  3. 搜索引擎利用机器学习排序
  4. js添加多个子节点_DOM节点
  5. 『ACM--数据结构--字典树』信息竞赛进阶指南--Tire树
  6. emlog博客网站后台登录模板 上传到模板目录即可
  7. avalon2框架应用注意事项
  8. win安装MinGW-w64
  9. java 判断date为空_java – 如何检查JSONArray元素是否为空
  10. python3中报错的解决方法(长期更新)
  11. 深入OpenJDK源码全面理解Java类加载器(下 -- Java源码篇)
  12. 一文看雷击浪涌的防护解析
  13. 扣扣机器人唱歌_qq小冰唱歌指令生成器下载-qq小冰唱歌关键字命令生成器 _5577安卓网...
  14. CSS设置阴影样式大全 包含所有样式 有图有代码
  15. 策划入门(三)创意的价值和如何写故事
  16. oracle 反斜杠 /
  17. 【仿真】羽毛球空气动力学运动方程分析
  18. 什么是HTTP?为什么是不安全的?
  19. 優しさの理由 (冰菓op)歌词
  20. 股票知识:成本价的计算

热门文章

  1. Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(text.insert/link各种事件)
  2. 安装Ubuntu16.04并安装sogoupiyin for linux
  3. vue组件间的传值方式及方法调用汇总
  4. 知识图谱基础知识之四——知识图谱的典型应用
  5. Go Iris 中间件
  6. test 2016-12-28
  7. java安全沙箱(一)之ClassLoader双亲委派机制
  8. codeforces 480B B. Long Jumps(贪心)
  9. HDOJ 1071 The area (纯数学题)
  10. MSSQL 2005 DML触发器