创建一个双一plannar图的创建一个、plannar

2023-09-11 05:19:09 作者:XX敲奈斯

林看着这 PDF 作为即时通讯试图建立一个MSSP(多源最短路径),但IM缺乏知识,如何建立interdegitating树木。到现在为止,我创建卡,因为我不知道我将如何建立其双生成树因此plannar图被创建,但即时通讯。有没有具体的算法/方法或任何文件,该文件可以帮助我解决这个问题?正如我搜索,能找到什么有用的。

解决方案

如果你不已经有一个,你需要一个组合嵌入。有高效的算法,以获取一个从入射的结构,但平面图的天然来源通常具有天然嵌入。有许多方法来重新present嵌入。我用了一个排列π映射每个半边缘到下一个半边缘逆时针顺序使用相同的头部顶点。与每个(非隔离的)顶点相关联的传入的半边的圆链表

让转速是映射每个半边它的另一半,与对面的头部和尾部顶点的置换。嵌入置换为对偶图是π的组合物随后转。它映射每个半边缘的脸按顺时针顺序的下一个半边缘(或逆时针上无限的脸,因为你看它的背面)。这会,如果你尝试一些例子用手再清楚不过了。

全民反诈 送你一份防范电信网络诈骗宣传手册

在计算从最初的根(我用的Dijkstra,除非你的MSSP实现比我快很多,没有太多的相对改善,以通过使用一个渐近更快的算法可以了),做的最短路径深度优先搜索,其中属于该最短路径树的边缘被忽略。 (另一种方法是参观欧拉游秩序的交错树的半边缘,但这种做法仿佛它会产生额外的对数时动态树操作。)

Im looking at this pdf as im trying to build an MSSP(multiple source shortest path) but im lacking the knowledge how to built interdegitating trees. until now i created the Spanning tree therefore the plannar graph is created, but im stuck cause i have no idea how i will build its dual. Is there any specific algorithm/approach or any paper which could help me solve this? As i searched and could find nothing useful.

解决方案

If you don't have one already, you need a combinatorial embedding. There are efficient algorithms to obtain one from the incidence structure, but natural sources of planar graphs typically have a natural embedding. There are many ways to represent the embedding. I used a permutation π mapping each half-edge to the next half-edge in counterclockwise order with the same head vertex. With each (non-isolated) vertex is associated a circularly linked list of incoming half-edges.

Let rev be the permutation that maps each half-edge to its other half, with opposite head and tail vertices. The embedding permutation for the dual graph is the composition of π followed by rev. It maps each half-edge to the next half-edge on the face in clockwise order (or counterclockwise on the infinite face, because you're looking at its back side). This will be clearer if you try some examples by hand.

After you compute shortest paths from the initial root (I used Dijkstra, and unless your MSSP implementation is much faster than mine, there isn't much relative improvement to be had by using an asymptotically faster algorithm), do a depth-first search where the edges that belong to the shortest-path tree are ignored. (Another alternative is to visit the half-edges of the interdigitating tree in Euler-tour order, but this approach seemed as though it would incur extra logarithmic-time dynamic-tree operations.)