Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности - C#

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

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

Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности. Возникла проблема,в реализации. Не понимаю как задать список ребер,чтоб он выводил мне матрицу смежности. Объясните пожалуйста!

Решение задачи: «Простой неориентированный граф задан списком ребер, выведите его представление в виде матрицы смежности»

textual
Листинг программы
var edges = new List<Edge>
                        {
                            new Edge("A", "B"),
                            new Edge("A", "C"),
                            new Edge("B", "D"),
                        };
 
            List<string> names = edges.Select(edge => edge.Name).Union(edges.Select(edge => edge.Link)).ToList();
            var adjacencyMatrix = new int[names.Count, names.Count];
            foreach (Edge edge in edges)
            {
                int row = names.IndexOf(edge.Name);
                int column = names.IndexOf(edge.Link);
                adjacencyMatrix[row, column] = adjacencyMatrix[column, row] = 1;
            }
 
            for (int columns = 0; columns <= names.Count - 1; columns++)
            {
                dataGridView1.Columns.Add("Columns" + columns.ToString(), names[columns]);
            }
            for (int row = 0; row < names.Count; row++)
            {
                dataGridView1.Rows.Add(1);
                
                for (int column = 0; column < names.Count; column++)
                {                    
                    dataGridView1.Rows[row].Cells[column].Value = adjacencyMatrix[row, column].ToString();
                }
                
                dataGridView1.Rows[row].HeaderCell.Value = names[row];
            }

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


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

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

8   голосов , оценка 4.125 из 5
Похожие ответы