61 lines
4.0 KiB
C#
61 lines
4.0 KiB
C#
|
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
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
}
|