1

1 つまたは複数の形状で構成される複合オブジェクトをモデル化しようとしています。簡単にするために、形状はすべて長方形であると仮定します。コンポジットは次のようになります (下手な ASCII アートを許してください):

+---+-------+---+
| | | | 2 | 5 |
| | +------+---+
| | 1 | 3 | | |
| | +--------+ 6 |
| | | | 4 | | |
+---+-------+---+

ウィキペディアは、私が大学時代にかろうじて覚えているグラフ理論を教えてくれました。隣接リストは、これらすべての形状間の関係をモデル化するための良い方法のようです。

私の質問は、隣接リストで左、右、上、および下の関係を示すことができますか? 1 が 2 に隣接していると言うだけでは十分ではありません。1 は 2 の左です (3 は 4 の上など)。

4

1 に答える 1

1

もちろん。通常の隣接リストは次のようになります。

vertex {
    neighbours: // list of neighbours
}

相対位置を含めるには、各頂点に各方向の隣接リストを含めることができます。

vertex {
    left: ...
    right: ...
    up: ...
    down: ...
}

そう:

3 {
    left: [1]
    right: [6]
    up: [2]
    down: [4]
}

1 {
    left: []
    right: [2,3,4]
    up: []
    down: []
}
于 2011-04-25T00:47:25.223 に答える