您描述的问题是完全动态DAG可达性(也称为DAG上的完全动态可传递关闭)。之所以称为完全动态,是因为人们还研究只能删除的版本(然后称为递减可达性),以及只能插入的版本(称为增量可达性)。
在更新时间和查询时间之间有一些权衡。令为边数,n为顶点数。对于DAG,Demetrescu和Italiano(FOCS'00)给出了一种随机数据结构,该结构支持O(n 1.58)时间内的更新(边缘插入或删除),以及O(n 0.58)时间内的可达性查询(还支持节点插入/删除) ,在O(1)时间内);此结果由Sankowski(FOCS'04)扩展,可用于一般有向图。同样对于DAG,罗迪蒂(SODA'03)表明,您可以在总时间O(m n + I · n 2 + D)中维护传递闭包矩阵,其中mnn1.58n0.58mn+I⋅n2+D是插入数, D是删除数,查询时间当然是O( 1)。ID1
对于一般有向图,以下(更新,查询)时间是已知的:(O(),O(1))(Demetrescu和Italiano FOCS'00(摊销),Sankowski FOCS'04(最坏的情况)),( O(米√n2),O( √mn−−√))(Roditty,Zwick FOCS'02),(O(m+nlogn),O(n))(Roditty,Zwick STOC'04),(O(n 1.58),O(n 0.58))和(O(n 1.495),O(n 1.495))由Sankowski(FOCS'04)设计。O(n−−√m+nlognnn1.58n0.58n1.495n1.495
即使对于DAG而言,在不增加太多更新时间的情况下获得多对数查询时间也是一个主要的开放问题。