数据结构--图的遍历(DFS和BFS)

这篇博客介绍了图的两种遍历方法:深度优先搜索(DFS)和广度优先搜索(BFS)。作者强调了理解这两种遍历策略基于栈和队列的数据结构基础的重要性,并提供了相关代码示例。博主欢迎大家提出意见和建议。
摘要由CSDN通过智能技术生成

博前感想:

图的遍历创建的思想比较容易懂,深度遍历和广度遍历需要自己动动脑筋。深度遍历是基于栈的思想--先进后出,广度遍历是基于队列的思想--先进先出。

代码块:

#include<string>
#include<iostream>
#include<cmath>
#include<stack>
#include<queue>
//#include"x64/Debug/图的遍历.tlog/"         不行
using namespace std;

bool DFSvisit[26];                   //两个存放有没有访问过的布尔型数组
bool BFSvisit[26];

typedef struct arcNode                        //边结构体
{
	struct vNode;
	int xiabiao;                    //下标
	int weight;                    //每条弧的权重
	arcNode *next;                   //连接下一个结构体的指针
	vNode *visit;                      //访问顶点的指针
}arcNode;

typedef struct vNode                    //顶点结构体
{
	arcNode *first;
	string data;
	int linenum;
	//vNode hwq[13];
}adjlist;

typedef struct graph                       //图
{
	adjlist hwq[13];
	int vexnum, arcnum;             //总的顶点数和边数
}graphadjlist;


void create(graphadjlist &h, adjlist &w)             //创建图,加&的都是变量通用的
{
	arcNode *temp;                                   //边结构体的指针
	arcNode *q;                                       //也是同上
	cout<<"请输入顶点数:"<<endl;
	cin>>h.vexnum ; h.arcnum = 0;                     //初始化图的顶点数和边的数目
	int x = 0;                          
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值