【发布时间】:2011-02-28 23:54:41
【问题描述】:
我有一个从单个根节点开始的图表。节点被一一添加到图表中。在节点创建时,它们必须通过一条边链接到根节点或另一个节点。边也可以创建和删除(一个接一个,在任意两个节点之间)。可以一次删除一个节点。节点和边的创建、删除操作可以以任意顺序发生。
好的,所以这是我的问题:当删除一条边时,是否可以在恒定时间内确定(即使用 O(1) 算法),如果这样做会将图划分为两个不相交的子图?如果是,那么根节点属于边的哪一边?
我愿意在合理的范围内维护任何有助于推导此信息的其他数据结构。
也许不可能在 O(1) 中做到这一点,如果是这样,任何指向文献的指针都会受到赞赏。
编辑:该图是有向图。
编辑 2:好的,也许我可以将这种情况限制为从根节点删除边。 [编辑 3:实际上不是] 此外,没有边缘落入根节点。
【问题讨论】:
-
如果要删除连接图和叶节点的边,是否也假设删除叶节点?或者,删除叶节点是否也会删除将其连接到图其余部分的边?
-
@VeeArr:删除叶节点也会删除链接到它的所有边。至于删除连接叶节点和非叶节点的边,应该由问题本身覆盖(删除任意边)。
-
你为什么不告诉我?!你是the_graph_guy!!
标签: algorithm data-structures graph