На нашем сайте Вы сможете найти готовые курсовые и дипломные работы по программированию
Сейчас работаем

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

Программа реализующая алгоритм обхода графа в ширину сделанная на 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 
Сразу после оплаты Вы сможете скачать работу и мы вышлем дополнительно файл с работой на электронную почту. Исходник программ Вы сможете отредактировать, как Вам нужно.
Комментарии (0)

/ /

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

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

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

2500,00 

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

Заказать через

Обход графа в ширину.rar
361590
Оцени работу

рейтинг

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