2011-04-25 2 views
1

하나 이상의 모양으로 구성된 복합 개체를 모델링하려고합니다. 간단히하기 위해 모양을 모두 직사각형이라고 가정합니다.상대적으로 배치 된 모양 간의 관계를 모델링하기위한 인접 목록?

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

위키 백과 내가 겨우 대학을 기억 이론을 그래프로 저를 지적하고,이 모델에 좋은 방법이 될 것입니다 인접성 목록처럼 보인다 : 복합은 (불쌍한 내 ASCII 아트를 용서)과 같을 수 있습니다 이 모든 도형 사이의 관계.

제 질문은 인접성 목록에 왼쪽, 오른쪽, 맨 위 및 맨 아래 관계를 나타낼 수 있습니까? 1이 2에 인접 해 있다고 말하는 것만으로는 충분하지 않습니다. 나는 1이 2의 왼쪽 (그리고 3은 4보다 위 등)이라고 말할 필요가있다.

답변

1

확실히. 같은 일반적인 인접 목록이 보일 수 있습니다 경우 : 그래서

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

:

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

vertex { 
    neighbours: // list of neighbours 
} 

상대 위치를 포함하려면, 각 정점은 각 방향에 대한 인접리스트를 가질 수

1 { 
    left: [] 
    right: [2,3,4] 
    up: [] 
    down: [] 
} 
+0

Doh! 내가 왜 그렇게 생각하지 않았어? 의사 코드는 매우 단순 해 보입니다. 감사! – ThisSuitIsBlackNot

관련 문제