#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
#define MAXSIZE 20
bool flag = false;
class MGraph
{
public:
MGraph(int vertex, int side);
~MGraph(){};
void DFSTraverse(int v);
void BFSTraverse(int v);
void PrintMGraph();
private:
int arcd[MAXSIZE][MAXSIZE];
int vertexNum, arcNum;
int visited[MAXSIZE];
};
MGraph::MGraph(int vertex, int arc){
int i, j;
vertexNum = vertex; arcNum = arc;
for(i=0; i<vertexNum; i++){
visited[i] = false;
for(j=0; j<vertexNum; j++)
arcd[i][j] = 0;
}
for(int k=0; k<arcNum; k++){
cin>>i>>j;
arcd[i][j] = 1; arcd[j][i] = 1;
}
}
void MGraph::PrintMGraph(){
for(int i=0; i<vertexNum; i++){
for(int j=0; j<vertexNum; j++){
if(j) printf(" ");
printf(&#
图的两种结构(邻接矩阵、邻接表)DFS、BFS算法
最新推荐文章于 2024-08-09 16:35:49 发布
本文介绍了图的两种数据结构——邻接矩阵和邻接表,并提供了C++实现的深度优先搜索(DFS)和广度优先搜索(BFS)遍历算法。通过创建MGraph和ALGraph类,分别对应邻接矩阵和邻接表,实现了图的打印、DFS和BFS操作。
摘要由CSDN通过智能技术生成