染色法判定二分图 算法思路
二分图:就是顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。
如何判定是否为二分图:当且仅当图中不含有奇数环
代码思路: 染色可以使用1和2区分不同颜色,用0表示未染色 遍历所有点,每次将未染色的点进行dfs, 默认染成1或者2 由于某个点染色成功不代表整个图就是二分图,因此只有某个点染色失败才能立刻break/return 染色失败相当于至少存在2个点染了相同的颜色
染色法判定二分图 算法思路
二分图:就是顶点集V可分割为两个互不相交的子集,并且图中每条边依附的两个顶点都分属于这两个互不相交的子集,两个子集内的顶点不相邻。
如何判定是否为二分图:当且仅当图中不含有奇数环
代码思路: 染色可以使用1和2区分不同颜色,用0表示未染色 遍历所有点,每次将未染色的点进行dfs, 默认染成1或者2 由于某个点染色成功不代表整个图就是二分图,因此只有某个点染色失败才能立刻break/return 染色失败相当于至少存在2个点染了相同的颜色
内容版权声明:除非注明,否则皆为本站原创文章。