1.动态树dynamic tree
动态树是图的数据结构,图的边有数值称为网络,动态树应用路径的方法组织图的结点。
动态树的实现,结点和边存放在同一个树中,结点是叶结点,边是中间节点,用中序的顺序组成一棵biased tree。Biased tree 完成动态树中一条路径的计算。因此动态树划分成多个路径。
动态树的特征是只处理路径,而不是结点。程序处理的变量是路径,只处理与路径相关的头结点(head)与尾结点(tail)。[参考文献 论文题目<< A data structure for dyanmic trees>>, 作者 D. Sleator, R. Tarjan.]
2.Dinic 算法
3. 算法分析
对程序不了解的阅读人,可先看4.源程序分析。
4. 源程序分析
4.1 路径操作
动态树是多条路径的集合,路径的11个原语(primitive)操作见下,通常用在划分(partitioning)方法的数据结构中。
(1) path(vertex v) 返回包含结点 v的路径。
(2) head(path p) 返回路径的头结点。在划分方法中,路径的头结点在动态树的bottommost端。
(3) tail(path p) 返回路径的尾结点。路径的尾结点在动态树的topmost端。
动态树 tail topmost