迪尼茨算法:原始版本与埃文版本解析
一、引言
“迪尼茨算法”是最早的强多项式最大流算法之一,在实际应用中易于实现且速度快。其发展受到两方面重要影响,一是推动其发明的因素,二是促进其广泛传播的因素,不过传播过程中算法有部分改变。
20世纪70年代,苏联在计算机和算法领域有着独特的发展历程。当时苏联面临计算机性能较弱的问题,但凭借优秀的算法解决了诸多难题。例如在研制核弹时,苏联数学家们将数学研究与计算相结合,取得了成功。之后,苏联的计算机研究团队不断发展壮大。
乔治·阿德尔森 - 韦尔斯基是计算机科学的先驱之一,他提出的AVL树对数据结构维护有着重要贡献。他的学生们吸收了苏联计算学派的思想,即深入研究问题、运用智能数据结构维护和摊销运行时间分析来开发经济高效的算法。作者在1969年1月发明的网络流算法,便是对福特 - 富尔克森算法的改进,它使用并维护分层网络数据结构,并进行了细致的运行时间摊销分析。
1974年,西蒙·埃文和阿隆·伊泰对作者和亚历山大·卡尔扎诺夫的新网络流算法产生了浓厚兴趣。尽管解读这两篇论文困难重重,但他们经过努力理解了大部分内容。埃文通过在西方多所顶尖研究型大学的讲座,使“迪尼茨算法”获得了巨大成功。然而,很多人并不知道教学中使用的并非原始版本,且其名称也被错误发音。
二、原始迪尼茨算法
(一)最大流问题与福特 - 富尔克森算法
- 最大流问题定义
- 给定一个有向图 $G = (V, E, c)$,其中 $c$ 是边的非负容量函数,$s$ 为源点,$t$ 为汇点。流 $f$ 是定义在有向边上的函数,需
超级会员免费看
订阅专栏 解锁全文
1237

被折叠的 条评论
为什么被折叠?



