나는 왼손 규칙을 사용하여 미로를 통과해야하며 프로그램이 오면 교차로를 기반으로해야한다는 프로젝트 작업 중입니다. 그래프에 연결할 노드를 만들어야합니다. 최단 경로를 결정하십시오. 목표는 프로그램을 미로를 통해 실행 한 다음 프로그램을 닫고 그래프가 포함 된 파일을 읽고 마무리의 최단 경로를 결정하는 것입니다. 내가 한 일은 왼손잡이 규칙을 사용하여 미로를 가로 질러 갈 수 있다는 것입니다. 어떤 생각을 할 때 교차로를 찾을 때마다 노드를 만들고 프로그램이 움직일 때마다 그 경로의 비용을 하나씩 늘립니다. 보조 노트에서 dijkstra의 알고리즘을 사용할 때 인접 행렬이 필요합니까?미로를 통과하는 최단 경로
답변
이런 식으로 뭔가를 시도, 그것을 작동합니다 :
현재 위치에 대한 스택의 상단을 확인하고0 - create an empty "solution path" stack of location objects. 1 - if current position is maze exit, return "solution path" stack. 2 - wall in front? turn left and repeat 2, else continue to 3. 3 - if current position is at top of "solution path" stack, pop it off of the stack else push it onto the stack 4 - move forward.
, 당신이 있기 때문에, 단지 매우 마지막 전에 요소를 확인해야 할 수도 있습니다 마지막 하나는 방금 떠난 위치입니다.
실제로 가장 짧은 경로를 찾으려면 그래프를 사용할 필요가 없습니다. – Zieklecknerizer
2 단계가 올바르지 않습니다. 곧장 갈 수 있더라도 좌회전해야합니다 ... 좌회전 또는 직진 또는 우회전 및 밀기 또는 뒤로 이동 ... 실행해야합니다. 업데이트 할 시간이 없습니다. –
그래 당신이 불행히도 나는 그래프와 diijkstas 알고리즘을 사용하여 최단 경로를 찾을 필요가있다 생각 ... 어떤 아이디어가 손실에 그 종류의 인스턴트 메신저. 프로그램이 교차로에 올 때마다 가장자리를 추가하여 그래프를 설정할 수 있다고 생각했습니다. 그리고 당신이 거기에서 다른 교차로 사이를 이동할 때마다. 하지만 그게 작동하지 않습니다 ... 어쩌면 내가 올바르게 또는 뭔가를 구현하지 않습니다. (매우 그래프 잘 아는 하하) 아픈 내가 어떤 진전을하면 어떻게하고 있는지 보여주는 몇 가지 코드를 추가! – Zieklecknerizer
- 1. 미로를 통과하는 알고리즘
- 2. DAG에서 노드를 통과하는 최단 경로 수를 계산합니다.
- 3. Dag의 최단 경로
- 4. 최단 경로 프로그램
- 5. 지도의 최단 경로
- 6. 사용자 지정지도 최단 경로
- 7. 가중치가없는 최단 경로
- 8. 막 다른 길을 걸었을 때 프로그래밍 방식으로 미로를 통과하는 방법
- 9. 알고리즘 : 모든 점 사이의 최단 경로
- 10. 그래프에서 경로가 아닌 최단 경로
- 11. 색이있는 가장자리 그래프의 최단 경로
- 12. k 번째 최단 경로 찾기?
- 13. C# - 최단 경로 찾기 찾기
- 14. SVG/Raphael : 주어진 점을 통과하는 모든 경로?
- 15. 플렉스 4, 회전 전환, 최단 경로 사용?
- 16. C++ win32 GUI 프로그래밍, 최단 경로?
- 17. 모든 경로와 그래프의 최단 경로 검색 - 프롤로그
- 18. JUNG API에서 최단 경로 알고리즘의 성능
- 19. 아날로그 시계에 대한 최단 경로 알고리즘
- 20. 최단 경로 트리의 총 비용을 최소화하는 방법
- 21. Bellman-Ford 최단 경로 알고리즘의 성능
- 22. 식료품 점을 통한 최단 경로 계산
- 23. 프롤로그에서 너비 우선 탐색으로 최단 경로 반환
- 24. JUNG의 트리 맵 (최단 경로 알고리즘 용)
- 25. 두 노드 사이의 최단 경로 찾기 (정점)
- 26. 최단 경로 문제에 대한 그래픽 도구?
- 27. 최단 경로 : Bellman-Ford 대 Johnson
- 28. 비순환 방향없는 연결이 끊어진 그래프의 단일 최단 경로
- 29. 미로를 나타내는 데이터 구조
- 30. Oracle에서 최단 경로를 찾으라는 질문
인접 행렬 또는 배열 목록 (인접 목록)을 사용할 수 있습니다. 왼손 규칙의 의미가 무엇인지 모르지만 dijkstra의 알고리즘이 그 일을 할 것이라고 생각합니다. –
모든 미로가 왼손 법칙으로 해결 될 수있는 것은 아닙니다. Theseus는 틀렸다. – Borealid
@Borealid : 모든 "완벽한 미로"가 가능합니다. 나는 그것이 OP가 말하는 것을 가정하고 있습니다 ... –