求一个有向连通图的割点 【微软面试100题 第三十九题】
来源:互联网 发布:湖南软件开发 编辑:程序博客网 时间:2024/05/28 05:13
题目要求:
求一个有向连通图的割点。割点的定义是,如果除去此结点和与其相关的边,有向图不再连通,描述算法。
题目分析:
判断某个点是否是割点的方法是,删除该点和与其相关的边,然后求连通性;这样逐个删除点(每次有且只删除一个点),就可以判断该图的割点有哪些了。
判断图连通性的方法:从一个点出发,如果能遍历所有的点,则连通。
使用邻接表表示有向图:
typedef struct ArcNode{ int adjvex; struct ArcNode *next;}ArcNode;typedef struct{ char data; ArcNode *firstarc;}AdjList;typedef struct AlGraph{ AdjList vertices[MAX_VERTEX_NUM]; int vexnum,arcnum; int kind;}AlGraph;
//核心代码AlGraph G;bool Dfs(char s){ visit[s] = true; cnt++ if(cut==G.vexnum-1) return true; ArcNode *p = G.vertices[s]; for(;p;p->firstarc) { if(!visit[p->data]) Dfs[p->data]; } return false;} //cut为全局变量,当cnt=删除一个点后的总点数时,则连通
0 0
- 求一个有向连通图的割点 【微软面试100题 第三十九题】
- 39 求一个有向连通图的割点
- 网易笔试题-求有向连通图的割点
- 有向连通图的割点
- 求一个连通图的割点
- 求无向连通图的割点
- 求无向连通图的割点
- 求无向连通图的割点(图论)
- 求无向连通图的割点
- 连通图的割点、割边 连通图的割点、割边(桥)、块、缩点,有向图的强连通分量
- 求无向连通图的割点和割边/桥
- 连通图的割点、割边(桥)、块、缩点,有向图的强连通分量
- 连通图的割点、割边(桥)、块、缩点,有向图的强连通分量
- 连通图的割点、割边(桥)、块、缩点,有向图的强连通分量
- 连通图的割点、割边(桥)、块、缩点,有向图的强连通分量
- 求连通图的割点
- 求一个连通图的割点(去掉一个点后图不再连通)
- 无向连通图的割点与割边
- Jquery 禁止键盘Backspace键
- 第十一周项目6反序数
- hbase 协处理器
- 扫描文字识别用什么软件好
- Openstack的Juno版的数据库-MySQL版本切换为mariadb
- 求一个有向连通图的割点 【微软面试100题 第三十九题】
- tomcat主目录(ROOT.xml)和虚拟目录
- typedef struct和struct
- 每2秒钟刷新查看MySQL进程proceslist状态
- Android中一些要写入的权限
- 静态单链表
- 使用storyboard实现页面跳转,简单的数据传递
- 第十一周项目二——求最大公约数(2)
- C++最简单的多线程实现