Algorithm 在保留拓扑排序的同时插入和删除节点?

Algorithm 在保留拓扑排序的同时插入和删除节点?,algorithm,insert,tree,time-complexity,topological-sort,Algorithm,Insert,Tree,Time Complexity,Topological Sort,我想存储一个树,其中一个节点可以有任意数量的子节点,作为数组。每个节点都有一个基于父值计算的关联值。因此,必须对数组进行拓扑排序,以确保已计算父值 因为树很大,可以在运行时修改,所以我不能在每次修改后使用图。有没有一种方法可以在保留拓扑排序的同时插入到树中或从树中删除?这真的是一种,所有节点最终都依赖于一个根节点,还是一个具有多个可能的根节点和从属节点的树?@dbc它是一棵树,更准确地说是一个场景图。每个节点都有它的局部变换。为了计算其全局变换,节点的局部变换必须与父节点的全局变换相乘。由于拓扑

我想存储一个树,其中一个节点可以有任意数量的子节点,作为数组。每个节点都有一个基于父值计算的关联值。因此,必须对数组进行拓扑排序,以确保已计算父值


因为树很大,可以在运行时修改,所以我不能在每次修改后使用图。有没有一种方法可以在保留拓扑排序的同时插入到树中或从树中删除?

这真的是一种,所有节点最终都依赖于一个根节点,还是一个具有多个可能的根节点和从属节点的树?@dbc它是一棵树,更准确地说是一个场景图。每个节点都有它的局部变换。为了计算其全局变换,节点的局部变换必须与父节点的全局变换相乘。由于拓扑顺序可以在线性时间内计算,你打算在次线性时间里用它做什么?@DavidEisenstat你是在问我破解线性时间的方法,还是我想这么做的原因?这是一个实时游戏引擎,场景中可以有很多节点。你想如何访问拓扑顺序?