이것이 내 문제입니다. 나는 그들의 해당 개체에 도시의 이름을 매핑 HashMap
Vertex
의 객체 (이.ArrayList의 링크에 값을 갖도록 데이터 구조 유지
나는이 도시 사이의 경로를 모델링 그래프를 확인해야합니다.
나의 현재 구현이 ArrayList
Edge
의 개체가 이 Vertex
및 각 개체의 경로 비용은. 그때 즉 Vertex
및 Edge
객체의이 세트를 사용하여 인접리스트,이 모델 그러나
for (Edge e : edges) {
ArrayList<Vertex> list = adjList.get(e.v1);
if (list == null)
list = new ArrayList<>();
list.add(e.v2);
adjList.put(e.v1, list);
}
edges: ArrayList of edges having (v1,v2,weight) in each object
list : The adjacency list for the vertex v1.
adjList: HashMap which has all the lists index by the vertex.
, 내 인접 목록을 인접성 목록에 가장자리 길이를 저장하지 않으므로 가장자리 길이를 원할 때마다 edges
목록을 탐색하고 두 개의 꼭지점이있는 개체를 찾아야합니다.
이 인접 목록 자체에 가장자리 길이를 포함하는 명확한 방법이 있는지 알아보기를 원합니다.
내 Vertex
개체는 정점 당 한 번만 만들어지기 때문에 그 안에 1 개의 가장자리 길이를 저장하면 그 안에 들어있는 다른 모든 가장자리를 덮어 쓸 수 있기 때문에 저장할 수 없습니다. Edge
객체 v1
및 v2
표지 두 정점을 갖기 때문에
힌트 : 질문이 어떻게 든 혼란 스럽습니다. 귀하의 의견에 따르면 adjList는 HashMap이어야합니다. 하지만 목록에있는 것 같습니다! 일반적으로 : 네이밍을 향상시킬 수 있습니다! – GhostCat
@GhostCat adjList는 모든 정점에 대한 모든 목록을 포함하는 HashMap입니다. O (1)에서 모든 꼭지점에 대한 각 목록에 액세스하기 위해 HashMap을 만들었습니다. –