8383
8484 < h1 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1 " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1 " class ="text-break "> Class DiGraph<T>
8585 </ h1 >
86- < div class ="markdown level0 summary "> < p > A directed graph implementation</ p >
86+ < div class ="markdown level0 summary "> < p > A directed graph implementation.
87+ IEnumerable enumerates all vertices.</ p >
8788</ div >
8889 < div class ="markdown level0 conceptual "> </ div >
8990 < div class ="inheritance ">
9091 < h5 > Inheritance</ h5 >
9192 < div class ="level0 "> < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.object "> Object</ a > </ div >
9293 < div class ="level1 "> < span class ="xref "> DiGraph<T></ span > </ div >
9394 </ div >
95+ < div classs ="implements ">
96+ < h5 > Implements</ h5 >
97+ < div > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 "> IEnumerable</ a > <T></ div >
98+ < div > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.ienumerable "> IEnumerable</ a > </ div >
99+ </ div >
94100 < div class ="inheritedMembers ">
95101 < h5 > Inherited Members</ h5 >
96102 < div >
@@ -119,7 +125,7 @@ <h6><strong>Namespace</strong>: <a class="xref" href="Advanced.Algorithms.DataSt
119125 < h6 > < strong > Assembly</ strong > : Advanced.Algorithms.dll</ h6 >
120126 < h5 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_syntax "> Syntax</ h5 >
121127 < div class ="codewrapper ">
122- < pre > < code class ="lang-csharp hljs "> public class DiGraph<T></ code > </ pre >
128+ < pre > < code class ="lang-csharp hljs "> public class DiGraph<T> : IEnumerable<T>, IEnumerable </ code > </ pre >
123129 </ div >
124130 < h5 class ="typeParameters "> Type Parameters</ h5 >
125131 < table class ="table table-bordered table-striped table-condensed ">
@@ -142,8 +148,7 @@ <h3 id="constructors">Constructors
142148
143149 < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1__ctor_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.#ctor* "> </ a >
144150 < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1__ctor " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.#ctor "> DiGraph()</ h4 >
145- < div class ="markdown level1 summary "> < p > Constructor</ p >
146- </ div >
151+ < div class ="markdown level1 summary "> </ div >
147152 < div class ="markdown level1 conceptual "> </ div >
148153 < h5 class ="decalaration "> Declaration</ h5 >
149154 < div class ="codewrapper ">
@@ -155,8 +160,8 @@ <h3 id="properties">Properties
155160
156161 < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_ReferenceVertex_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.ReferenceVertex* "> </ a >
157162 < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_ReferenceVertex " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.ReferenceVertex "> ReferenceVertex</ h4 >
158- < div class ="markdown level1 summary "> < p > return a reference vertex to start traversing Vertices
159- O(1) complexity </ p >
163+ < div class ="markdown level1 summary "> < p > Return a reference vertex to start traversing Vertices
164+ Time complexity: O(1). </ p >
160165</ div >
161166 < div class ="markdown level1 conceptual "> </ div >
162167 < h5 class ="decalaration "> Declaration</ h5 >
@@ -209,8 +214,8 @@ <h3 id="methods">Methods
209214
210215 < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_AddEdge_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.AddEdge* "> </ a >
211216 < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_AddEdge__0__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.AddEdge(`0,`0) "> AddEdge(T, T)</ h4 >
212- < div class ="markdown level1 summary "> < p > add an edge from source to destination vertex
213- O(1) complexity </ p >
217+ < div class ="markdown level1 summary "> < p > Add an edge from source to destination vertex.
218+ Time complexity: O(1). </ p >
214219</ div >
215220 < div class ="markdown level1 conceptual "> </ div >
216221 < h5 class ="decalaration "> Declaration</ h5 >
@@ -243,8 +248,8 @@ <h5 class="parameters">Parameters</h5>
243248
244249 < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_AddVertex_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.AddVertex* "> </ a >
245250 < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_AddVertex__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.AddVertex(`0) "> AddVertex(T)</ h4 >
246- < div class ="markdown level1 summary "> < p > add a new vertex to this graph
247- O(1) complexity </ p >
251+ < div class ="markdown level1 summary "> < p > Add a new vertex to this graph.
252+ Time complexity: O(1). </ p >
248253</ div >
249254 < div class ="markdown level1 conceptual "> </ div >
250255 < h5 class ="decalaration "> Declaration</ h5 >
@@ -287,8 +292,8 @@ <h5 class="returns">Returns</h5>
287292
288293 < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_FindVertex_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.FindVertex* "> </ a >
289294 < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_FindVertex__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.FindVertex(`0) "> FindVertex(T)</ h4 >
290- < div class ="markdown level1 summary "> < p > returns the vertex object with given value
291- O(1) complexity </ p >
295+ < div class ="markdown level1 summary "> < p > Returns the vertex object with given value.
296+ Time complexity: O(1). </ p >
292297</ div >
293298 < div class ="markdown level1 conceptual "> </ div >
294299 < h5 class ="decalaration "> Declaration</ h5 >
@@ -329,13 +334,40 @@ <h5 class="returns">Returns</h5>
329334 </ table >
330335
331336
332- < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_GetAllInEdges_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.GetAllInEdges * "> </ a >
333- < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_GetAllInEdges__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.GetAllInEdges(`0) " > GetAllInEdges(T )</ h4 >
337+ < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_GetEnumerator_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.GetEnumerator * "> </ a >
338+ < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_GetEnumerator " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.GetEnumerator " > GetEnumerator( )</ h4 >
334339 < div class ="markdown level1 summary "> </ div >
335340 < div class ="markdown level1 conceptual "> </ div >
336341 < h5 class ="decalaration "> Declaration</ h5 >
337342 < div class ="codewrapper ">
338- < pre > < code class ="lang-csharp hljs "> public List<T> GetAllInEdges(T vertex)</ code > </ pre >
343+ < pre > < code class ="lang-csharp hljs "> public IEnumerator<T> GetEnumerator()</ code > </ pre >
344+ </ div >
345+ < h5 class ="returns "> Returns</ h5 >
346+ < table class ="table table-bordered table-striped table-condensed ">
347+ < thead >
348+ < tr >
349+ < th > Type</ th >
350+ < th > Description</ th >
351+ </ tr >
352+ </ thead >
353+ < tbody >
354+ < tr >
355+ < td > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerator-1 "> IEnumerator</ a > <T></ td >
356+ < td > </ td >
357+ </ tr >
358+ </ tbody >
359+ </ table >
360+
361+
362+ < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_HasEdge_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.HasEdge* "> </ a >
363+ < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_HasEdge__0__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.HasEdge(`0,`0) "> HasEdge(T, T)</ h4 >
364+ < div class ="markdown level1 summary "> < p > Do we have an edge between the given source and destination?
365+ Time complexity: O(1).</ p >
366+ </ div >
367+ < div class ="markdown level1 conceptual "> </ div >
368+ < h5 class ="decalaration "> Declaration</ h5 >
369+ < div class ="codewrapper ">
370+ < pre > < code class ="lang-csharp hljs "> public bool HasEdge(T source, T dest)</ code > </ pre >
339371 </ div >
340372 < h5 class ="parameters "> Parameters</ h5 >
341373 < table class ="table table-bordered table-striped table-condensed ">
@@ -349,7 +381,12 @@ <h5 class="parameters">Parameters</h5>
349381 < tbody >
350382 < tr >
351383 < td > < span class ="xref "> T</ span > </ td >
352- < td > < span class ="parametername "> vertex</ span > </ td >
384+ < td > < span class ="parametername "> source</ span > </ td >
385+ < td > </ td >
386+ </ tr >
387+ < tr >
388+ < td > < span class ="xref "> T</ span > </ td >
389+ < td > < span class ="parametername "> dest</ span > </ td >
353390 < td > </ td >
354391 </ tr >
355392 </ tbody >
@@ -364,20 +401,20 @@ <h5 class="returns">Returns</h5>
364401 </ thead >
365402 < tbody >
366403 < tr >
367- < td > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.generic.list-1 " > List </ a > <T> </ td >
404+ < td > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.boolean " > Boolean </ a > </ td >
368405 < td > </ td >
369406 </ tr >
370407 </ tbody >
371408 </ table >
372409
373410
374- < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_GetAllOutEdges_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.GetAllOutEdges * "> </ a >
375- < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_GetAllOutEdges__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.GetAllOutEdges (`0) "> GetAllOutEdges (T)</ h4 >
411+ < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_InEdges_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.InEdges * "> </ a >
412+ < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_InEdges__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.InEdges (`0) "> InEdges (T)</ h4 >
376413 < div class ="markdown level1 summary "> </ div >
377414 < div class ="markdown level1 conceptual "> </ div >
378415 < h5 class ="decalaration "> Declaration</ h5 >
379416 < div class ="codewrapper ">
380- < pre > < code class ="lang-csharp hljs "> public List <T> GetAllOutEdges (T vertex)</ code > </ pre >
417+ < pre > < code class ="lang-csharp hljs "> public IEnumerable <T> InEdges (T vertex)</ code > </ pre >
381418 </ div >
382419 < h5 class ="parameters "> Parameters</ h5 >
383420 < table class ="table table-bordered table-striped table-condensed ">
@@ -406,22 +443,20 @@ <h5 class="returns">Returns</h5>
406443 </ thead >
407444 < tbody >
408445 < tr >
409- < td > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.generic.list -1 "> List </ a > <T></ td >
446+ < td > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable -1 "> IEnumerable </ a > <T></ td >
410447 < td > </ td >
411448 </ tr >
412449 </ tbody >
413450 </ table >
414451
415452
416- < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_HasEdge_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.HasEdge* "> </ a >
417- < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_HasEdge__0__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.HasEdge(`0,`0) "> HasEdge(T, T)</ h4 >
418- < div class ="markdown level1 summary "> < p > do we have an edge between the given source and destination?
419- O(1) complexity</ p >
420- </ div >
453+ < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_OutEdges_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.OutEdges* "> </ a >
454+ < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_OutEdges__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.OutEdges(`0) "> OutEdges(T)</ h4 >
455+ < div class ="markdown level1 summary "> </ div >
421456 < div class ="markdown level1 conceptual "> </ div >
422457 < h5 class ="decalaration "> Declaration</ h5 >
423458 < div class ="codewrapper ">
424- < pre > < code class ="lang-csharp hljs "> public bool HasEdge (T source, T dest )</ code > </ pre >
459+ < pre > < code class ="lang-csharp hljs "> public IEnumerable<T> OutEdges (T vertex )</ code > </ pre >
425460 </ div >
426461 < h5 class ="parameters "> Parameters</ h5 >
427462 < table class ="table table-bordered table-striped table-condensed ">
@@ -435,12 +470,7 @@ <h5 class="parameters">Parameters</h5>
435470 < tbody >
436471 < tr >
437472 < td > < span class ="xref "> T</ span > </ td >
438- < td > < span class ="parametername "> source</ span > </ td >
439- < td > </ td >
440- </ tr >
441- < tr >
442- < td > < span class ="xref "> T</ span > </ td >
443- < td > < span class ="parametername "> dest</ span > </ td >
473+ < td > < span class ="parametername "> vertex</ span > </ td >
444474 < td > </ td >
445475 </ tr >
446476 </ tbody >
@@ -455,7 +485,7 @@ <h5 class="returns">Returns</h5>
455485 </ thead >
456486 < tbody >
457487 < tr >
458- < td > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.boolean " > Boolean </ a > </ td >
488+ < td > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 " > IEnumerable </ a > <T> </ td >
459489 < td > </ td >
460490 </ tr >
461491 </ tbody >
@@ -496,8 +526,8 @@ <h5 class="parameters">Parameters</h5>
496526
497527 < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_RemoveVertex_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.RemoveVertex* "> </ a >
498528 < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_RemoveVertex__0_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.RemoveVertex(`0) "> RemoveVertex(T)</ h4 >
499- < div class ="markdown level1 summary "> < p > remove an existing vertex frm graph
500- O(V) complexity </ p >
529+ < div class ="markdown level1 summary "> < p > Remove an existing vertex frm graph.
530+ Time complexity: O(V) where V is the total number of vertices in this graph. </ p >
501531</ div >
502532 < div class ="markdown level1 conceptual "> </ div >
503533 < h5 class ="decalaration "> Declaration</ h5 >
@@ -521,6 +551,40 @@ <h5 class="parameters">Parameters</h5>
521551 </ tr >
522552 </ tbody >
523553 </ table >
554+ < h3 id ="eii "> Explicit Interface Implementations
555+ </ h3 >
556+
557+
558+ < a id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_System_Collections_IEnumerable_GetEnumerator_ " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.System#Collections#IEnumerable#GetEnumerator* "> </ a >
559+ < h4 id ="Advanced_Algorithms_DataStructures_Graph_AdjacencyList_DiGraph_1_System_Collections_IEnumerable_GetEnumerator " data-uid ="Advanced.Algorithms.DataStructures.Graph.AdjacencyList.DiGraph`1.System#Collections#IEnumerable#GetEnumerator "> IEnumerable.GetEnumerator()</ h4 >
560+ < div class ="markdown level1 summary "> </ div >
561+ < div class ="markdown level1 conceptual "> </ div >
562+ < h5 class ="decalaration "> Declaration</ h5 >
563+ < div class ="codewrapper ">
564+ < pre > < code class ="lang-csharp hljs "> IEnumerator IEnumerable.GetEnumerator()</ code > </ pre >
565+ </ div >
566+ < h5 class ="returns "> Returns</ h5 >
567+ < table class ="table table-bordered table-striped table-condensed ">
568+ < thead >
569+ < tr >
570+ < th > Type</ th >
571+ < th > Description</ th >
572+ </ tr >
573+ </ thead >
574+ < tbody >
575+ < tr >
576+ < td > < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.ienumerator "> IEnumerator</ a > </ td >
577+ < td > </ td >
578+ </ tr >
579+ </ tbody >
580+ </ table >
581+ < h3 id ="implements "> Implements</ h3 >
582+ < div >
583+ < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.generic.ienumerable-1 "> System.Collections.Generic.IEnumerable<T></ a >
584+ </ div >
585+ < div >
586+ < a class ="xref " href ="https://docs.microsoft.com/dotnet/api/system.collections.ienumerable "> System.Collections.IEnumerable</ a >
587+ </ div >
524588</ article >
525589 </ div >
526590
0 commit comments