using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Cursach { public partial class InfoForm : Form { public InfoForm() { InitializeComponent(); ShowDocumentation(); } private void ShowDocumentation() { # region BFSInfo documentBFSInfo.Clear(); documentBFSInfo.SelectionFont = new Font("Arial", 12); documentBFSInfo.SelectionFont = new Font(documentBFSInfo.SelectionFont, FontStyle.Bold); documentBFSInfo.AppendText("Описание\n"); documentBFSInfo.SelectionFont = new Font("Arial", 10); documentBFSInfo.SelectionFont = new Font(documentBFSInfo.SelectionFont, FontStyle.Regular); documentBFSInfo.AppendText( "Поиск в ширину (англ. breadth-first search, BFS) — один из методов обхода графа. " + "Пусть задан граф \ud835\udc3a=(\ud835\udc49,\ud835\udc38) и выделена исходная вершина" + " \ud835\udc60. Алгоритм поиска в ширину систематически обходит все ребра \ud835\udc3a" + " для «открытия» всех вершин, достижимых из \ud835\udc60, вычисляя при этом расстояние" + " (минимальное количество рёбер) от \ud835\udc60 до каждой достижимой из \ud835\udc60" + " вершины. Алгоритм работает как для ориентированных, так и для неориентированных графов.\n\n"); documentBFSInfo.SelectionFont = new Font("Arial", 12); documentBFSInfo.SelectionFont = new Font(documentBFSInfo.SelectionFont, FontStyle.Bold); documentBFSInfo.AppendText("Работа алгоритма\n"); documentBFSInfo.SelectionFont = new Font("Arial", 10); documentBFSInfo.SelectionFont = new Font(documentBFSInfo.SelectionFont, FontStyle.Regular); documentBFSInfo.AppendText( "Поиск в ширину работает путём последовательного просмотра отдельных уровней графа," + " начиная с узла-источника \ud835\udc62.\n\nРассмотрим все рёбра (\ud835\udc62,\ud835\udc63)," + " выходящие из узла \ud835\udc62. Если очередной узел \ud835\udc63 является целевым узлом, то поиск" + " завершается; в противном случае узел \ud835\udc63 добавляется в очередь. После того, как будут" + " проверены все рёбра, выходящие из узла \ud835\udc62, из очереди извлекается следующий узел" + " \ud835\udc62, и процесс повторяется.\n"); #endregion # region SaveLoadInfo documentBFSInfo.Clear(); documentBFSInfo.SelectionFont = new Font("Arial", 10); documentBFSInfo.AppendText("Сохрание осуществляется в через сохраниение класса StateList в бинарный файл с использованием технологии серверной сериализации brotobuf (библиотека для C# protobuf-net).\n\n"); documentBFSInfo.AppendText("Бинарный файл имеет разрешение .state, что позволяет не путать файлы с другими расширениями.\n\n"); #endregion } } }