문제

가 기하학적 무방향 평면 그래프, 는 그래프는 각 노드가 위치하고 없는 2 개의 가장자리가 십자가를 지고 나를 찾으려 모든 사이클이 없는 가장자리를 건너다.

거기에 어떤 좋은 솔루션을 알려진 이 문제가?


내가 무슨 일을 계획하는 종류의 A* 다음과 같 솔루션:

  • 삽입하는 모든 가장자리에서 분 힙로
  • 확장 짧은 경로와 매 옵션
  • 추려는 경로를 다시 반복하다가 시작(가 필요하지 않을 수 있습니다)
  • 추려 경로는 것은 세 번째 사용하 ang 주어진 가장자리

사람이 볼 수 있는 문제와 이?그것은 심지어 일하는가?

도움이 되었습니까?

해결책

나의 첫 번째 본능은 벽을 따르는 벽 미로 솔버. 본질적으로 가장자리를 따라 가고 항상 정점에서 가장 오른쪽 가장자리를 꺼냅니다. 이 방법으로 만난주기는 얼굴의 경계가됩니다. 당신은 어떤 방향으로 가로 지르는 가장자리를 추적해야합니다. 양방향으로 가장자리를 가로 지르면 분리 된 얼굴을 식별했습니다. 모든 가장자리가 양방향으로 가로 지르면 모든면을 경계로 식별 할 수 있습니다.

다른 팁

당신이 부르는 것처럼 "교차 가장자리"는 일반적으로 . 따라서 문제는 모든 화음없는 사이클을 찾는 것입니다.

이 종이 도움이 될 것 같습니다.

간단한 방법으로 이렇게 하는 단순 열거 각각의 얼굴입니다.원리는 간단하다:

  • 우리는'α-문'과'β 방문한'플래그를 위한 각각의 가장자리,그리고 한 쌍의 이중 연결 목록의 가장자리에 방문하지 않은 각 등의 플래그입니다.는'α'과'β'사단에 해당하는 파티션의 비행기에 해당하는 줄리에서 질문;어느 쪽이 α 고 어느 쪽이 β 임의로 지정되었습니다.
  • 에 대한 각각의 정점 V:
    • 각 인접한 한 쌍의 가장자리 E=(V_1V),E=(V_2V)(즉,정렬하여 각도를 취 인접한 쌍뿐만 아니라,첫 번째+마지막):
    • 결정하는 측면의 S E(S=α 또는 β)V_2 에 거짓말.
    • 내 타일에서 시작,V,를 사용하여 측 S E,으로 아래에서 설명:

걷는 타일에 의해 수행됩:

  • 자 V=V_init
  • Loop:
    • V_next=의 정점 E 지 않 V
    • E=인접 가장자리를 전자서 V_next 에 있는 전류의 측 E
    • S'=의 측 E'는 포함되 V
    • 는 경우 V_next=V,우리가 발견한 루프;기록하는 모든 가장자리에 의해 전달되는 방법에,그리고 사람들을 표시 가장자리 쌍으로 방문합니다.
    • 는 경우 E'=E(단 하나의 가장자리),그리고 우리는 죽은 끝을 명중;중단 이내
    • 그렇지 않으면,우 V=V_next,E=전자',S=S'계속합니다.

이들 감;그것은 아마도요 다이어그램을 설명한다...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top