Let $V$ be a finite nonempty set of nodes.
Let $E \subseteq V \times V$ be a set of edges.
$G = (V, E)$ is the directed graph (or digragh) made up of the node set $V$ and the edge set $E$.
When $E$ is considered to consist of unordered pairs, $(V, E)$ is called an undirected graph.
A graph is loop-free if it contains no (self-)loops.
A multigraph allows parallel edges between nodes.
A loop-free undirected graph without parallel edges between nodes is said to be simple.
A node is isolated if it has no incident edges.
For an undirected graph, we typically use $\{x, y\}$ to represent a edge; as for digraph, we always use $(x, y)$ to represent an edge.
A walk from $x$ to $y$ is a finite sequence of non-loop edges connecting $x$ and $y$.
The length of a walk is the number of edges in it.