Имеется алгоритм Дейкстры. Необходимо его закомментировать - C#

Узнай цену своей работы

Формулировка задачи:

Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Dijkstra
  6. {
  7. class Program
  8. {
  9. private static void Main()
  10. {
  11. const int n = 5;// количество вершин
  12. var adjacencyMatrix = new int[n, n];// матрица смежности
  13. for (int i = 0; i < n; i++)
  14. {
  15. for (int j = 0; j < n; j++)
  16. {
  17. adjacencyMatrix[i, j] = -1;
  18. }
  19. }
  20. adjacencyMatrix[0, 1] = 10;
  21. adjacencyMatrix[0, 3] = 30;
  22. adjacencyMatrix[0, 4] = 100;
  23. adjacencyMatrix[1, 2] = 50;
  24. adjacencyMatrix[2, 0] = 70;
  25. adjacencyMatrix[2, 4] = 10;
  26. adjacencyMatrix[3, 2] = 20;
  27. adjacencyMatrix[4, 3] = 60;
  28. var costs = new int[n];
  29. for (int i = 1; i < costs.Length; i++)
  30. {
  31. costs[i] = int.MaxValue;
  32. }
  33. for (int i = 0; i < n; i++)
  34. {
  35. var list = new List<int>();
  36. for (int j = i; j < n; j++)
  37. {
  38. if (adjacencyMatrix[i, j] != -1)
  39. list.Add(j);
  40. }
  41. list.Sort((x, y) => adjacencyMatrix[i, x].CompareTo(adjacencyMatrix[i, y])); //Сортируем по мин. стоимости пути
  42. foreach (var j in list)
  43. {
  44. var newcost = costs[i] + adjacencyMatrix[i, j];
  45. if (newcost < costs[j])
  46. costs[j] = newcost;
  47. }
  48. }
  49. for (int i = 0; i < costs.Length; i++)
  50. {
  51. Console.WriteLine("Пункт {0}, стоимость пути = {1}", i, costs[i]);
  52. }
  53. Console.ReadKey();
  54. }
  55. }
  56. }

Решение задачи: «Имеется алгоритм Дейкстры. Необходимо его закомментировать»

textual
Листинг программы
  1. /*using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Dijkstra
  7. {
  8.     class Program
  9.     {
  10.         private static void Main()
  11.         {
  12.  
  13.             const int n = 5;// количество вершин
  14.             var adjacencyMatrix = new int[n, n];// матрица смежности
  15.  
  16.             for (int i = 0; i < n; i++)
  17.             {
  18.                 for (int j = 0; j < n; j++)
  19.                 {
  20.                     adjacencyMatrix[i, j] = -1;
  21.                 }
  22.             }
  23.             adjacencyMatrix[0, 1] = 10;
  24.             adjacencyMatrix[0, 3] = 30;
  25.             adjacencyMatrix[0, 4] = 100;
  26.             adjacencyMatrix[1, 2] = 50;
  27.             adjacencyMatrix[2, 0] = 70;
  28.             adjacencyMatrix[2, 4] = 10;
  29.             adjacencyMatrix[3, 2] = 20;
  30.             adjacencyMatrix[4, 3] = 60;
  31.  
  32.             var costs = new int[n];
  33.             for (int i = 1; i < costs.Length; i++)
  34.             {
  35.                 costs[i] = int.MaxValue;
  36.             }
  37.  
  38.             for (int i = 0; i < n; i++)
  39.             {
  40.                 var list = new List<int>();
  41.                 for (int j = i; j < n; j++)
  42.                 {
  43.                     if (adjacencyMatrix[i, j] != -1)
  44.                         list.Add(j);
  45.                 }
  46.                 list.Sort((x, y) => adjacencyMatrix[i, x].CompareTo(adjacencyMatrix[i, y])); //Сортируем по мин. стоимости пути
  47.                 foreach (var j in list)
  48.                 {
  49.                     var newcost = costs[i] + adjacencyMatrix[i, j];
  50.                     if (newcost < costs[j])
  51.                         costs[j] = newcost;
  52.                 }
  53.             }
  54.             for (int i = 0; i < costs.Length; i++)
  55.             {
  56.                 Console.WriteLine("Пункт {0}, стоимость пути = {1}", i, costs[i]);
  57.             }
  58.             Console.ReadKey();
  59.         }
  60.     }
  61. }*/

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы