2025-05-12 06:41:29 +03:00
|
|
|
|
/*
|
|
|
|
|
* Author: Nikolay Dvurechensky
|
|
|
|
|
* Site: https://www.dvurechensky.pro/
|
|
|
|
|
* Gmail: dvurechenskysoft@gmail.com
|
|
|
|
|
* Last Updated: 12 мая 2025 06:38:00
|
|
|
|
|
* Version: 1.0.27
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
using System.Collections.Generic;
|
2024-10-05 07:50:50 +03:00
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Вершина графа
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class GraphVertex
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Название вершины
|
|
|
|
|
/// </summary>
|
|
|
|
|
public string Name { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Список ребер
|
|
|
|
|
/// </summary>
|
|
|
|
|
public List<GraphEdge> Edges { get; }
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Конструктор
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="vertexName">Название вершины</param>
|
|
|
|
|
public GraphVertex(string vertexName)
|
|
|
|
|
{
|
|
|
|
|
Name = vertexName;
|
|
|
|
|
Edges = new List<GraphEdge>();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Добавить ребро
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="newEdge">Ребро</param>
|
|
|
|
|
public void AddEdge(GraphEdge newEdge)
|
|
|
|
|
{
|
|
|
|
|
Edges.Add(newEdge);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Добавить ребро
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <param name="vertex">Вершина</param>
|
|
|
|
|
/// <param name="edgeWeight">Вес</param>
|
|
|
|
|
public void AddEdge(GraphVertex vertex, int edgeWeight)
|
|
|
|
|
{
|
|
|
|
|
AddEdge(new GraphEdge(vertex, edgeWeight));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Преобразование в строку
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <returns>Имя вершины</returns>
|
|
|
|
|
public override string ToString() => Name;
|
|
|
|
|
}
|