首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

几个图论的有关问题

2013-01-06 
几个图论的问题1.如果一个无向生成树的一个顶点关联边被移除,就留下一些子树。给出一个线性时间算法,找出一

几个图论的问题
1.如果一个无向生成树的一个顶点关联边被移除,就留下一些子树。给出一个线性时间算法,找出一个顶点,这个顶点被移除后剩下的子树没有一个是大于N/2个节点的。
2.有整数1,2….,E. 把他们随机分配给一个有V个顶点,E条边的无向图的边做权值。证明用Kruskal算法可以在O(Eα(E, V )) 实现找出他的最小生成树。
3.在一个有向无回路图中,给出一个线性时间算法找出s到t的最长加权路径。
4.让一个G = (V,E)为一个无向图。用深度优先收索设计一个算法。把G中每一条边转化成一个有向边,然后让最后的图是强连通图。(或者证明这不可能)

[解决办法]
1. 任取一个点为根。每个节点统计它的最大子树的大小以及该节点自己这棵子树有多大。这两个统计量可以在建树的时候顺便做完。然后找到一个节点使得第一个量<=N/2,第二个量>=N/2的就可以了。
2. 排序可以O(E)完成。所以瓶颈就在并查集一步。
3. 很显然的拓扑排序。
4. 检测无向图是否有桥。DFS经典应用。

热点排行