Skip to content

Commit 413b3e5

Browse files
committed
feat: 가중치 그래프 초기화 코드 작성
1 parent a93d9c7 commit 413b3e5

File tree

1 file changed

+67
-0
lines changed

1 file changed

+67
-0
lines changed
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package graph;
2+
3+
import java.util.Comparator;
4+
import list.DummyDoublyLinkedList;
5+
import list.List;
6+
import priorityqueue.HeapPriorityQueue;
7+
import priorityqueue.PriorityQueue;
8+
9+
public class ListWeightGraph implements WeightedGraph {
10+
11+
private final List<Enum<?>>[] vertices;
12+
private final PriorityQueue<WeightEdge> edgePriorityQueue;
13+
14+
public ListWeightGraph(int vertexCount, Class<? extends Enum<?>> clazz) {
15+
edgePriorityQueue = new HeapPriorityQueue<>(Comparator.comparingInt(o -> o.weight));
16+
Enum<?>[] enumConstants = clazz.getEnumConstants();
17+
int min = Math.min(vertexCount, enumConstants.length);
18+
19+
this.vertices = new List[min];
20+
for (int i = 0; i < min; i++) {
21+
this.vertices[i] = new DummyDoublyLinkedList<>();
22+
this.vertices[i].insert(enumConstants[i]);
23+
}
24+
}
25+
26+
@Override
27+
public void addEdge(Enum<?> fromV, Enum<?> toV, int weight) {
28+
29+
}
30+
31+
@Override
32+
public String showGraphEdgeWeightInfo() {
33+
return null;
34+
}
35+
36+
@Override
37+
public void convertToMST(MSTConversionAlgorithm algorithm) {
38+
39+
}
40+
41+
@Override
42+
public void addEdge(Enum<?> fromV, Enum<?> toV) {
43+
throw new UnsupportedOperationException("이 메소드는 지원하지 않습니다.");
44+
}
45+
46+
@Override
47+
public String showGraphEdgeInfo() {
48+
return null;
49+
}
50+
51+
@Override
52+
public String depthFirstSearch(Enum<?> startV) {
53+
return null;
54+
}
55+
56+
@Override
57+
public String breadthFirstSearch(Enum<?> startV) {
58+
return null;
59+
}
60+
61+
private static class WeightEdge {
62+
63+
private int weight;
64+
private Enum<?> fromVertex;
65+
private Enum<?> toVertex;
66+
}
67+
}

0 commit comments

Comments
 (0)