数据结构王道P234第二题

复制代码
#include<iostream>
using namespace std;
int visit[MAxsize];
int color[MaxSize];//1表示红,2表示白; 
bool dfs(Graph G, int i){
	visit[i]=1;
	ArcNode *p;
    bool flag=1;
	for(p=G.vertices[i].firsrarc; p ; p=p->next){
		int j=p->adjvex;
		if(!visit[j]){//如果没访问过,j就涂上相反颜色,继续递归涂色 
			if(color[i]==1)color[j]=2;
			else color[j]=1;
			flag=flag&&dfs(G, j); 
		}
		else{//如果访问过,判断j与i相邻点颜色,是否相同,不相同说明涂失败了,直接返回false;如果不同,不用管继续递归涂色 
			if(color[j]==color[i]){
				return false;
			}
		}
	}
	return flag;
} 

int main()
{
	color[1]=1;//将第一个点染红
	bool flag=bfs(G, 1); 
	return 0;
}
相关推荐
weixin_413063215 分钟前
比较阅读理解opencv 和 LuminanceHDR中 色调映射Drago算法
opencv·算法·计算机视觉·hdr·色调映射
自我意识的多元宇宙5 分钟前
【数据结构】图----图的应用(拓扑排序)
数据结构·算法
Lazionr6 分钟前
双向链表及链表篇总结
数据结构·链表
itzixiao9 分钟前
L1-055 谁是赢家(10 分)[java][python]
java·python·算法
ghie909011 分钟前
运用强跟踪无迹卡尔曼滤波来实现捷联惯导的初始对准
算法
菜菜的顾清寒20 分钟前
力扣HOT100(21)相交链表
算法·leetcode·链表
zh路西法23 分钟前
【ROS2多激光雷达融合】基于ROS2的双2D激光雷达点云融合与遮挡剔除方案
c++·python·机器人
七颗糖很甜26 分钟前
开源雷达NEXRAD Level 3 数据完整获取与 Python 处理教程
大数据·python·算法
JXNL@28 分钟前
TDK DPX105950DT 射频双工器全解析:从原理、参数到应用设计
算法
池塘的蜗牛29 分钟前
FMCW(2)-速度
算法