학교 과제를위한 그래프 구조를 작성 중입니다. 현재는 인접성 목록으로 표시됩니다. 키가 그래프의 노드 (정점)이고 값이 가장자리 인 목록 (원본 노드와 대상 노드 포인터가 포함 된 개체가 "가중치"인 해시 맵을 사용하고 있습니다.)를 생성한다.toposort하는 방법; 도수 작성
다음 과제는 토폴로지 정렬을 코딩하는 것입니다.하지만 막혔습니다. 가장 좋은 방법은 각 노드 객체에 정수 필드 (노드로 이어지는 가장자리의 양)를 제공하는 것입니다.하지만이 방법을 모든 노드에 할당 할 수는 없습니다. 내가 가진 것을 줘.
제안 사항?
답장을 보내 주셔서 감사합니다! 나는 더 구체적으로 지정해야한다. 나는 이미 Node 객체를 가지고있다. 이 노드는 내 HashMap의 키입니다. – Haskell
그렇다면 다음과 같이하십시오. Graph의 개념을 생성하십시오.이 객체는 이미 가지고있는 HashMap을 내부적으로 가지고 있지만 addEdge (Node src, Node dst, int weight) 메소드의 API 일부를 포함합니다. addEdge를 호출하여 가장자리 객체를 만들고 hashMap에 삽입 할 때마다 노드에 도착하는 가장자리 수를 알 수있는 dst Node 객체 내부의 필드를 증가시킵니다. – pabrantes
Brilliant! 고마워, 나는 효과적인 topo 정렬이 지금있다. – Haskell