SHARE
TWEET

Untitled

a guest Apr 23rd, 2019 78 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Vertex<T>
  2. {
  3.     // Bu düğüme gelen düğümlerin listesi
  4.     public IList<Vertex<T>> IncomingVertices {get; set;}
  5.     // Bu düğümün gittiği düğümleri listesi
  6.     public IList<Vertex<T>> OutgoingVertices {get; set;}
  7.     // Düğümün içindeki veri
  8.     public T Data{get; set;}
  9.     public Vertex(T data)
  10.     {
  11.         Data = data;
  12.         IncomingVertices = new List<Vertex<T>>();
  13.         OutgoingVertices = new List<Vertex<T>>();
  14.     }
  15.     public Vertex()
  16.     {
  17.         IncomingVertices = new List<Vertex<T>>();
  18.         OutgoingVertices = new List<Vertex<T>>();
  19.     }
  20.  
  21.     // Bu vektörden hedef vektöre gidebilir miyim?
  22.     public bool IsTraversePossible(Vertex<T> dest)
  23.     {
  24.         return TraverseUtil(dest);
  25.     }
  26.  
  27.     // IsTraversePossible için util
  28.     public bool TraverseUtil(Vertex<T> v)
  29.     {
  30.         // Hedefe ulaşıldı mı
  31.         if(this == v)
  32.         {
  33.             return true;
  34.         }
  35.  
  36.         bool result = false;
  37.         // Mümkün bütün yönlere git
  38.         foreach(var outgoing in OutgoingVertices)
  39.         {
  40.             result = result || outgoing.TraverseUtil(v);
  41.         }
  42.         // Sonucu döndür. Bir tane true bile gelse
  43.         // cevap true olacak Recursion sonunda
  44.         return result;
  45.     }
  46. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top