1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/merlinhsiao-Java-Dijkstra

В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
README.md 1.4 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 30.06.2025 17:57 1d1c42a

Реализация алгоритма Дейкстры для нахождения кратчайшего пути на основе Java. Пример программы см. в: example/mx/RunDome.java

public void demo1() {
		// Объявление вершин
		Point A = new MyPoint(1,0,0);
		Point B = new MyPoint(2,0,0);
		Point C = new MyPoint(3,0,0);
		Point D = new MyPoint(4,0,0);
		Point E = new MyPoint(5,0,0);
		// Добавление вершин в коллекцию
		ArrayList<Point> source = new ArrayList<Point>();
		source.add(A);
		source.add(B);
		source.add(C);
		source.add(D);
		source.add(E);
		// Объявление рёбер
		ArrayList<Edge> edges = new ArrayList<Edge>();
		edges.add(new Edge(A, B, 10));
		edges.add(new Edge(A, C, 5));
		edges.add(new Edge(B, C, 2));
		edges.add(new Edge(B, D, 1));
		edges.add(new Edge(C, B, 3));
		edges.add(new Edge(C, D, 9));
		edges.add(new Edge(C, E, 2));
		edges.add(new Edge(D, E, 4));
		edges.add(new Edge(E, D, 6));
		edges.add(new Edge(E, A, 7));
		Dijkstra d = new Dijkstra();
		Stack<Point> points = d.dijkstra(source, edges, A, D); // Предоставление коллекции вершин, коллекции рёбер, начальной и конечной вершины для поиска пути
		while (points.size() > 0) {
			Point p = points.pop(); 
			System.out.print(((MyPoint)p).getId()+">"); // Вывод результата: 1>3>2>4
		}
	}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/merlinhsiao-Java-Dijkstra.git
git@api.gitlife.ru:oschina-mirror/merlinhsiao-Java-Dijkstra.git
oschina-mirror
merlinhsiao-Java-Dijkstra
merlinhsiao-Java-Dijkstra
master