图的遍历算法操作——深度优先搜索遍历和广度优先搜素遍历

本文介绍了图的两种遍历方法:深度优先搜索(DFS)和广度优先搜索(BFS)。DFS类似于二叉树的先序遍历,而BFS类似于树的层次遍历。对于非连通图,需要在遍历过程中检查每个顶点,确保所有顶点都被访问到。
摘要由CSDN通过智能技术生成

一、邻接表存储表示的定义

/*邻接表存储表示的定义*/
typedef struct ArcNode{
	int adjvex; //该边所指向的结点的位置
	struct ArcNode *nextarc; //指向下一条边的指针
	//int info; //该边的相关信息(如权值),这一句用得不多,题目不做特殊要求可以不写
}ArcNode;

typedef struct{
	char data; //顶点信息
	ArcNode *firstarc; //指向第一条边的指针
}VNode;

typedef struct{
	VNode adjlist[maxSize]; //邻接表
	int n, e; //顶点数和边数
}AGraph; //图的邻接表类型

二、图的深度优先搜索遍历(Depth-First-Search,DFS)

图的深度优先搜索遍历类似于二叉树的先序遍历

(1)二叉树的先序遍历

/*二叉树的先序遍历算法*/
void PreOrder(BNode *p){
	if(p!=NULL){
		Visit(p);
		PreOrder(p->lchild);
		PreOrder(p->rchild);
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值