Exemplo n.º 1
0
 /// <summary>
 /// Checks if these vertices are connected.
 /// </summary>
 public bool AreAdjacent(IVertex <T> firstVertex, IVertex <T> secondVertex)
 {
     if (!_vertices.Contains(firstVertex) || !_vertices.Contains(secondVertex))
     {
         throw new Exception("One or both vertices do not exist.");
     }
     return(AreAdjacent(firstVertex.GetData(), secondVertex.GetData()));
 }
Exemplo n.º 2
0
 private void DFSRecursive(IGraph <T> graph, IVertex <T> current)
 {
     if (!current.IsVisited())
     {
         current.Visit();
         Console.Write(current.GetData() + " ");
         foreach (var neighbour in graph.GetUnvisitedNeighbours(current))
         {
             DFSRecursive(graph, neighbour);
         }
     }
 }
Exemplo n.º 3
0
 private void DFSRecursive(IVertex <T> current)
 {
     if (!current.IsVisited())
     {
         current.Visit();
         Console.Write(current.GetData() + " ");
         foreach (var node in current.GetUnvisitedNeighbours())
         {
             DFSRecursive(node.GetNeighbour());
         }
     }
 }
Exemplo n.º 4
0
 public string GetData()
 {
     return($"Current-{_current.GetData()},Distance-{_dist},Previos-{_previos.GetData()}");
 }