2012年12月28日

摘要: 这是《算法导论》中的一个例题(22.2-7),题目描述如下:树T=(V,E)的直径(diameter)定义为max(u,v),亦即,树的直径是树中所有最短路径长度中的最大值。试写出计算树的直径的有效算法,并分析算法的运行时间。算法:1》 从任意一点u开始,做BFS(广度优先搜索),找到最远点d(1).2》 从d(1)开始做BFS,所找到的最远路径(d(1)~~d(2))即为树的直径解释:第一步找到的d(1)为直径的一个端点,从d(1)开始做BFS得到的自然是直径,问题的关键在于为什么d(1)为直径的一个端点!下面对此加以说明:首先,若u为直径上一点,那么d(1)为直径的一个端点 证明(反证法. 阅读全文
posted @ 2012-12-28 22:33 苯苯吹雪 阅读(2383) 评论(0) 推荐(0)

导航