⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 guanjiedian.c

📁 1、 图的存储结构的定义和图的创建 图的种类有:有向图、无向图、有向网、无向网。 图的存储结构可采用:邻接矩阵、邻接表。 要求:分别给出邻接矩阵和邻接表在某一种图上的创建算法 2、 图的遍历:
💻 C
字号:
#include"graph.h"
#define MAX 20
int min,count;
int low[MAX],visited[MAX];

void DFSArticul(ALGraph G,int v0);


void FindArticul(ALGraph G)
{
	ArcNode *p;
	int i,v;
	count=1;visited[0]=1;
	for(i=1;i<G.vexnum;i++)
		visited[i]=0;
	p=G.vertices[0].firstarc;
	v=p->adjvex;
	DFSArticul(G,v);
	if(count<G.vexnum)
	{
		printf("0 %c\n",G.vertices[0].data);
		while(p->nextarc)
		{
			p=p->nextarc;
			v=p->adjvex;
			if(visited[v]==0)
				DFSArticul(G,v);
		}
	}
}
void DFSArticul(ALGraph G,int v0)
{
	ArcNode *p;
	int w;
	visited[v0]=min=++count;
	for(p=G.vertices[v0].firstarc;p;p=p->nextarc)
	{
		w=p->adjvex;
		if(visited[w]==0)
		{
			DFSArticul(G,w);
			if(low[w]<min)
				min=low[w];
			if(low[w]>=visited[v0])
				printf("%d %c\n",v0,G.vertices[v0].data);
		}
		else
			if(visited[w]<min)
				min=visited[w];
		low[v0]=min;
	}
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -