Сейчас работаем

Графическая реализация обхода графа в ширину С#

Программа реализующая алгоритм обхода графа в ширину сделанная на C# с пошаговой графической реализацией алгоритма на WinFoms. Чтобы открыть проект требуется VisualStudio 2013 или новее (2017 лучше всего).

При выполнении данной курсовой работы были детально рассмотрены понятия, связанные с теорией графов, после чего проанализированы основные виды представления графов. Для реализации графа была выбрана матрица смежности, так как именно данный способ представления предназначен для связных неориентированных графов.

Затем были проанализированы обход графа в ширину и обход графа в глубину. Главным отличием обхода графа в ширину, заключается в том, что данный алгоритма поочередно обходит все ближайшие вершины от корня, затем вершины с глубиной на один больше, и так пока алгоритм не обойдет все вершины.

После это в качестве языка написания программы выбран С#, так как данный язык наиболее совместим с WindowsForms, который был выбран средством для визуализации потому, что данный способ включает в себя множество инструментов и функций, подходящих для выполнения поставленной задачи.

Далее была создана программа, для визуализации обхода в ширину. Написанное приложение включало в себя пользовательский интерфейс. Вначале которого, нужно задать количество вершин графа, а также все его ребра, после чего, при нажатиях на соответствующие кнопки отобразить матрицу смежности и визуализировать заданный граф. Далее ввести номер вершины с которой начать обход и нажать на соответствующую кнопку, после чего будет пошагово прорисован алгоритм обхода в ширину.

Содержание пояснительной записки:

Фрагмент программного кода:

Обход графа в ширину.

int start = Convert.ToInt32(textBox2.Text);
            int[] queue=new int[N];int[] visited=new int[N];
            queue[0] = start; visited[start] = 1; int r = 0, w = 1;
            textBox3.Text += textBox2.Text+" ";
            while (r < w){
                int curr = queue[r++];
                for (int i = 0; i < N; i++){
                    if (visited[i]==0 && M[curr,i]==1){               
                        g.DrawLine(P, Coord[curr], Coord[i]);
                        Point kil = new Point(Coord[i].X - 10, Coord[i].Y - 10);
                        g.FillEllipse(Brushes.LightGray, kil.X - 5, kil.Y, 20, 20);
                        g.DrawString(Convert.ToString(i), font1, Brushes.DarkRed, kil);
                        System.Threading.Thread.Sleep(500);
                        visited[i] = 1;  queue[w++] = i;
                        textBox3.Text += Convert.ToString(i) + " ";  }  }
                Point kill = new Point(Coord[curr].X - 10, Coord[curr].Y - 10);
                g.FillEllipse(Brushes.Black, kill.X - 5, kill.Y, 20, 20);
                g.DrawString(Convert.ToString(curr), font1, Brushes.DarkRed, kill);
System.Threading.Thread.Sleep(500);                      }

Содержание архива:

  • Исходный код приложения на языке программирования C#
  • Пояснительная записка (27 страниц)

Купить 2500,00 
(без учета комиссии 3,8 %)
Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически.
Другие работы автора
Тип Название Рейтинг Категория Стоимость
Курсовая База данных "Больница" 13 .NET (C#) 3 500,00
Курсовая База данных "Магазин видеоигр" С# 0 .NET (C#) 3 500,00
Курсовая База данных "Магазин электроники" C# 7 .NET (C#) 3 500,00
Комментарии (0)

psyfaker

/ /

Оставить комментарий

Ты не можешь комментировать

Только зарегистрированые пользователи имеют возможность комментировать работы
Купить

2500,00 

(без учета комиссии 3,8 %)

Сразу после оплаты Вы получите работу на электронную почту. Файлы отправляются автоматически.
Обход графа в ширину.rar
361590
Оцени работу

рейтинг

Поделись работой с друзьями

Категории
Графическая реализация обхода графа в ширину С#
Графическая реализация обхода графа в ширину С# на WinForms с отличной пояснительной запиской.
Категория: Образование
Стоимость: 2500,00