edges -> arcs

{1,2} == {2,1} (1,2) =/= (2,1)

(1,2) v1 is adjacent to v2

v2 is adjacent from v1

indegree of v2

( number of arcs having v2 as tail)

outdegree of v1

(number of arcs having v1 as head)

A digraph is __strongly connected__ if every vertex is reachable from every other

A digraph is __weakly connected__ if its underlying graph is connected.

adjacency list:

v1 -> 2 -> 3

v2 -> 4

v3 -> 2

v4 -> 3

incidence list:

(1,2) --/-> (2,1)

IsAdjacentFrom(w,v) (v,w)

IsAdjacentTo(v,w) head tail

IsIncidentFrom(v,e) <--head

IsIncidentTo(w,e) <--tail

AdjacentToSet(v)

AdjacentFromSet(v)

IncidentFromSet(v)

IncidentToSet(w)

Arc(v,w) -->

VerticesTo(e)

VerticesFrom(e)