노드 이웃을 찾는 방법은 무엇입니까? 특정 노드를 다른 노드의 이웃으로 만드는 것은 무엇입니까? 내가 루아Dijkstra의 알고리즘에서 이웃을 어떻게 찾습니까?
의 코드 A *와
0
A
답변
1
을 쓰고 있어요 그건 그렇고, 당신은 세 가지를 정의
- 주어진 노드와 사이에 다른
- 의 거리에 하나 개의 인접 노드에서 이동의 비용 목표는 주어진 노드
-
는 다 익스트라의 알고리즘은 실제로 단지
0을 반환하여, 일반적으로, 그 중 두 번째를 포함하지만 당신의 질문은 세 번째 일에 대해 다음과 같습니다
당신이 그리드에이 일을한다면, 그냥 찾을 수 격자 공간의 유클리드 이웃입니다. 즉, 그리드 공간 x2y2의 경우 유클리드 공간에서 이웃은 x1y2, x3y2, x2y1 및 x2y3입니다.
그리드를 다루지 않는다면, 당신이하고 싶은 일은 세계에 배치하거나 직후에 배치 할 때 각 노드의 형제 데이터를 채우고 저장하는 것입니다. 해당 노드와 연관된 목록에서. 한 노드에서 다른 모든 노드까지의 거리를 계산하고 그 중 가장 짧은 것을 찾거나 그와 비슷한 것을 찾을 수 있습니다. 매우 비쌀 수 있지만 처음 시작할 때 한 번만 수행하므로 노드가 동적이지 않으면 잘해야합니다.
관련 문제
- 1. Dijkstra의 알고리즘에서 우선 순위 큐를 구현하는 방법
- 2. Dijkstra의 알고리즘에서 추출 된 거리 값이 감소하지 않는다는 것을 증명합니까?
- 3. Python의 우선 순위 대기열을 사용하는 Dijkstra의 알고리즘에서 대상 노드 찾기
- 4. 왜 우리는 Hopcroft-Karp 알고리즘에서 가장 짧은 보강 경로를 찾습니까?
- 5. 전화 번호는 어떻게 찾습니까?
- 6. 구조체의 크기는 어떻게 찾습니까?
- 7. 적절한 UUID는 어떻게 찾습니까?
- 8. 발신자 기능은 어떻게 찾습니까?
- 9. FileInputStream은 어떻게 파일을 찾습니까?
- 10. - 프로세스 ID는 어떻게 찾습니까?
- 11. SVN 소스는 어떻게 찾습니까?
- 12. 요일을 어떻게 찾습니까?
- 13. Cmake는 어떻게 파일을 찾습니까?
- 14. CoreLocation은 어떻게 장치를 찾습니까?
- 15. JUnit은 테스트를 어떻게 찾습니까?
- 16. 암호화 알고리즘에서 키는 어떻게 사용됩니까?
- 17. ContentResolver는 어떻게 해당 ContentProvider를 찾습니까?
- 18. 디버깅에서 호출하는 방법을 어떻게 찾습니까?
- 19. javac.exe는 프로그래밍 방식으로 어떻게 찾습니까?
- 20. Solaris에서 gcc가 어떻게 라이브러리를 찾습니까?
- 21. TestNG는 테스트 클래스를 어떻게 찾습니까?
- 22. grok - 인용 문자열을 어떻게 찾습니까?
- 23. seekg는 파일의 끝을 어떻게 찾습니까?
- 24. 돼지에서 2 위를 어떻게 찾습니까?
- 25. TCP 소켓의 inode는 어떻게 찾습니까?
- 26. 메쉬 객체의 높이를 어떻게 찾습니까?
- 27. 링커가 주 기능을 어떻게 찾습니까?
- 28. Android에서 기본 글꼴은 어떻게 찾습니까?
- 29. Tomcat은 webapps 디렉토리를 어떻게 찾습니까?
- 30. RichTextBox에서 반복되는 텍스트는 어떻게 찾습니까?
"특정 노드를 다른 노드의 이웃으로 만드는 이유는 무엇입니까?" 두 노드 사이의 가장자리. –
@DanielFischer가 말한 내용은 더 자세한 설명을 위해 그래프/격자를 어떻게 표현하는지에 대한 예제를 제공합니다 (사각형 격자 인 경우 대각선 이동을 허용합니까) – catwell
3 차원 환경이므로 시도 중입니다. 노드 블록으로 시작과 끝 사이의 최단 거리를 찾으십시오. – Nightlock32