Skip to content

Commit 5a2ce75

Browse files
committed
Refactoring packages
1 parent 3a01d97 commit 5a2ce75

17 files changed

+87
-122
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
This project was created to test graph search algorithms. There are implementations and tests for two algorithms:
44

5-
- [Breadth-first search](src/main/java/algorithm/BreadthFirstSearch.java)
6-
- [Dijkstra's Algorithm](src/main/java/algorithm/DijkstrasAlgorithm.java)
5+
- [Breadth-first search](src/main/java/graph/BreadthFirstSearch.java)
6+
- [Dijkstra's Algorithm](src/main/java/graph/DijkstrasAlgorithm.java)
77

88
## Technical specifications
99

src/main/groovy/lv/id/jc/AppGroovy.groovy

Lines changed: 0 additions & 44 deletions
This file was deleted.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package lv.id.jc;
2+
3+
import lv.id.jc.algorithm.graph.BreadthFirstSearch;
4+
import lv.id.jc.algorithm.graph.DijkstrasAlgorithm;
5+
import lv.id.jc.algorithm.graph.Graph;
6+
import lv.id.jc.algorithm.graph.SearchAlgorithm;
7+
8+
import java.util.Map;
9+
10+
public class AppExample {
11+
private static final Graph<Character> COMPLEX_GRAPH = new Graph<>(Map.of(
12+
'A', Map.of('B', 5, 'H', 2),
13+
'B', Map.of('A', 5, 'C', 7),
14+
'C', Map.of('B', 7, 'D', 3, 'G', 4),
15+
'D', Map.of('C', 20, 'E', 4),
16+
'E', Map.of('F', 5),
17+
'F', Map.of('G', 6),
18+
'G', Map.of('C', 4),
19+
'H', Map.of('G', 3)
20+
));
21+
private static final SearchAlgorithm<Character> fastest = new DijkstrasAlgorithm<>();
22+
private static final SearchAlgorithm<Character> shortest = new BreadthFirstSearch<>();
23+
24+
public static void main(String[] args) {
25+
System.out.println(COMPLEX_GRAPH);
26+
27+
printRoute(COMPLEX_GRAPH, 'D', 'C');
28+
printRoute(COMPLEX_GRAPH, 'A', 'G');
29+
printRoute(COMPLEX_GRAPH, 'D', 'H');
30+
}
31+
32+
private static void printRoute(final Graph<Character> graph,
33+
final Character source,
34+
final Character target) {
35+
final var routeOne = shortest.findPath(graph, source, target);
36+
final var routeTwo = fastest.findPath(graph, source, target);
37+
final var message = """
38+
39+
Find the path from %s to %s
40+
- the shortest take %.0f min and the path is %s
41+
- the fastest take %.0f min and the path is %s"""
42+
.formatted(
43+
source, target,
44+
graph.getDistance(routeOne), routeOne,
45+
graph.getDistance(routeTwo), routeTwo);
46+
47+
System.out.println(message);
48+
}
49+
}

src/main/java/lv/id/jc/AppJava.java

Lines changed: 0 additions & 47 deletions
This file was deleted.

src/main/java/algorithm/BreadthFirstSearch.java renamed to src/main/java/lv/id/jc/algorithm/graph/BreadthFirstSearch.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithm;
1+
package lv.id.jc.algorithm.graph;
22

33
import java.util.HashMap;
44
import java.util.HashSet;

src/main/java/algorithm/DijkstrasAlgorithm.java renamed to src/main/java/lv/id/jc/algorithm/graph/DijkstrasAlgorithm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithm;
1+
package lv.id.jc.algorithm.graph;
22

33
import java.util.HashMap;
44
import java.util.LinkedList;

src/main/java/algorithm/Graph.java renamed to src/main/java/lv/id/jc/algorithm/graph/Graph.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithm;
1+
package lv.id.jc.algorithm.graph;
22

33
import java.util.List;
44
import java.util.Map;

src/main/java/algorithm/SearchAlgorithm.java renamed to src/main/java/lv/id/jc/algorithm/graph/SearchAlgorithm.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package algorithm;
1+
package lv.id.jc.algorithm.graph;
22

33
import java.util.List;
44

src/test/groovy/algorithm/BreadthFirstSearchSpec.groovy renamed to src/test/groovy/graph/BreadthFirstSearchSpec.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
package algorithm
1+
package graph
22

3+
import lv.id.jc.algorithm.graph.BreadthFirstSearch
4+
import lv.id.jc.algorithm.graph.Graph
35
import spock.lang.Specification
46
import spock.lang.Subject
57

src/test/groovy/algorithm/DijkstrasAlgorithmSpec.groovy renamed to src/test/groovy/graph/DijkstrasAlgorithmSpec.groovy

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
package algorithm
1+
package graph
22

3+
import lv.id.jc.algorithm.graph.DijkstrasAlgorithm
4+
import lv.id.jc.algorithm.graph.Graph
35
import spock.lang.Specification
46
import spock.lang.Subject
57

0 commit comments

Comments
 (0)