0

有向平面グラフがあります。したがって、平面埋め込みを行うことができます。ノード s と t が必要で、特定の埋め込みに従って s と t の間の左端のパスを見つけたいと思います。

左は、コメントで説明されているデビッドと定義されています。つまり、「左」は無限面と時計回り/反時計回りの規則に関して定義されます。パス p は、サイクル p*rev(q) が他の面と同様に無限面の巻き上げに関して少なくとも反時計回りである場合、同じ端点を持つパス q の左側にあります。

そんなことがあるものか?パスが別のパスから離れているかどうかをプログラムに伝える方法がわかりません。私はいくつかの論文を読みましたが、それを実装する方法を説明していませんでした。誰かがアイデアを持っていますか?

4

2 に答える 2

0

単純な平面グラフには左右の概念がなく、平面のまま鏡像化および回転できます。ある種の方向性をグラフに埋め込む必要があります。

ノードの最大出次数が 2 の場合、左端にラベルを付けることができます。一番左のパスを見つけるには、s から始まる深さ優先検索を行うことができます。新しいノードに到達したら、常に最初に左端を取ります。アルゴリズムは t に到達すると終了し、左端のパスが残ります。

任意の最大アウト次数の場合、左から右に増加する番号でエッジにラベルを付けることができます。

于 2014-05-06T13:13:11.877 に答える