Имеется алгоритм Дейкстры. Необходимо его закомментировать - C#
Формулировка задачи:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dijkstra { class Program { private static void Main() { const int n = 5;// количество вершин var adjacencyMatrix = new int[n, n];// матрица смежности for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { adjacencyMatrix[i, j] = -1; } } adjacencyMatrix[0, 1] = 10; adjacencyMatrix[0, 3] = 30; adjacencyMatrix[0, 4] = 100; adjacencyMatrix[1, 2] = 50; adjacencyMatrix[2, 0] = 70; adjacencyMatrix[2, 4] = 10; adjacencyMatrix[3, 2] = 20; adjacencyMatrix[4, 3] = 60; var costs = new int[n]; for (int i = 1; i < costs.Length; i++) { costs[i] = int.MaxValue; } for (int i = 0; i < n; i++) { var list = new List<int>(); for (int j = i; j < n; j++) { if (adjacencyMatrix[i, j] != -1) list.Add(j); } list.Sort((x, y) => adjacencyMatrix[i, x].CompareTo(adjacencyMatrix[i, y])); //Сортируем по мин. стоимости пути foreach (var j in list) { var newcost = costs[i] + adjacencyMatrix[i, j]; if (newcost < costs[j]) costs[j] = newcost; } } for (int i = 0; i < costs.Length; i++) { Console.WriteLine("Пункт {0}, стоимость пути = {1}", i, costs[i]); } Console.ReadKey(); } } }
Решение задачи: «Имеется алгоритм Дейкстры. Необходимо его закомментировать»
textual
Листинг программы
/*using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Dijkstra { class Program { private static void Main() { const int n = 5;// количество вершин var adjacencyMatrix = new int[n, n];// матрица смежности for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { adjacencyMatrix[i, j] = -1; } } adjacencyMatrix[0, 1] = 10; adjacencyMatrix[0, 3] = 30; adjacencyMatrix[0, 4] = 100; adjacencyMatrix[1, 2] = 50; adjacencyMatrix[2, 0] = 70; adjacencyMatrix[2, 4] = 10; adjacencyMatrix[3, 2] = 20; adjacencyMatrix[4, 3] = 60; var costs = new int[n]; for (int i = 1; i < costs.Length; i++) { costs[i] = int.MaxValue; } for (int i = 0; i < n; i++) { var list = new List<int>(); for (int j = i; j < n; j++) { if (adjacencyMatrix[i, j] != -1) list.Add(j); } list.Sort((x, y) => adjacencyMatrix[i, x].CompareTo(adjacencyMatrix[i, y])); //Сортируем по мин. стоимости пути foreach (var j in list) { var newcost = costs[i] + adjacencyMatrix[i, j]; if (newcost < costs[j]) costs[j] = newcost; } } for (int i = 0; i < costs.Length; i++) { Console.WriteLine("Пункт {0}, стоимость пути = {1}", i, costs[i]); } Console.ReadKey(); } } }*/
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д