내 CS 클래스의 경우 Java의 Prim 알고리즘을 구현해야하며 우선 순위 대기열 단계에 문제가 있습니다. 우선 순위 대기열에 대한 경험이 있으며 일반적으로 작동하는 것으로 이해하지만 특정 단계에서 문제가 있습니다. Prim(G,w,r)
For each u in V[G]
do key[u] ← ∞
π[u] ← NIL
k
JGraphT로 Prim의 최소 스패닝 트리 알고리즘을 구현하려고합니다. 어떻게 보이나요? 내가 겪었던 한 가지 문제는 JGraphT가 감독 한 것처럼 모든 것을 처리하는 것이 었습니다. 가끔 올바른 경우가 아니면 g.getEdgeSource(e)과 g.getEdgeTarget(e)을 뒤집기 위해 어색한 호출을해야 할 때가 있습니다. 원래 JGraphT의
Prim's algorithm을 C (www.bubblellicious.es/prim.tar.gz)에 구현했지만, 이것을 Kruskal's algorithm으로 변환하는 방법을 궁금합니다. 그들은 꽤 비슷해 보이지만 어떻게하면 기존 코드를 새 코드로 수정할 수 있을지 상상할 수 없습니다. 네가 조언이나 뭔가를 주면 맛있어 질거야. 쉽게 알 수 있겠지만 C
나는 Cormen et al의 책에서 공부해 왔으며 제공 한 알고리즘에 대해서는 약간 혼란 스럽다. 필자는 Prim의 algo 개념이 wikipedia를 통해 어떻게 작동 하는지를 이해했지만, 제 책에 제공된 알고리즘을 사용하여 작동하는 것을 모방 할 수는 없습니다. 챕터의 온라인 사본 참조 : http://www.cs.cmu.edu/afs/cs/acade