2013-09-01 8 views
0

두 노드 사이의 경로 수를 N (const)로 찾는 방법을 찾기 위해 노력하고 있습니다. 더 큰 그래프와Neo4j는 첫 번째 최단 경로 찾기

: 많은 경로에 대한

PathFinder<Path> finder = GraphAlgoFactory.allSimplePaths(
         Traversal.expanderForTypes(Relationship.KNOWS), 20); 
Iterable<Path> paths = finder.findAllPaths(startNode, endNode); 

반환 방법은 (실제로 나는 그것이 가능한 경로를 반환을 계속했다 원인 프로세스를 종료했다). (추상)

내 첫번째 생각은이 같은 N-최단 경로를 찾는 것이다

  1. 길이부터 1 일까지 각 반복에서 GraphAlgoFactory.pathsWithLength() 증가와 추가 경로에 대한 GraphAlgoFactory.shortestPath(...)
  2. 표정으로 최단 경로 찾기 == 경로 길이 + 1에서 1까지.
  3. 최대 길이 (최대) 또는 최대 히트 수에 도달 할 때까지 반복하십시오.

하지만 다시 한 번 바퀴를 발명하려고합니다. Neo4j와 함께 제공된 alhorithm이 있습니까? 나는 찾을 수 없다

+0

이 문제를 해결 했습니까? – Stefan

답변

0

나는이 algo가 너 자신을 개발하고 graph-algo 패키지에 기여할 수 있다고 생각한다. 아마도 allSimplePaths의 변형 일까?

관련 문제