Graphs Vertices/Nodes Edges Adjacent Undirected Graphs Directed Graphs Weighted Graphs Dense Graphs Sparse Graphs Adjacency Matrix Adjacency List
<aside> đź’ˇ Graphs are data structures that contain a finite set of vertices (aka nodes) that with edges establishing the connection between vetrices. Graphs can represent a network or connections/relationships.
</aside>

<aside> đź’ˇ A graph $G(V, E)$ contains vertices, $V$ and edges, $E$. Vertices are a set of nodes ($V = \{set \space of \space nodes \}$). Edges are a subset of the $V \times V$ for an undirected graph ($E \subseteq \{V\times V\}$}).
We say that two nodes sre adjacent to each other if there exists an edge between them.
</aside>
<aside> đź’ˇ Undirected Graphs are graphs where edges have a two-way relationship. For instance, there can be an edge from node $A$ to node $B$ and an edge from node $B$ to node $A$.
</aside>

<aside> 💡 Directed Graphs are graphs where edges have a one-way relationship. So, there can be an edge from node $A$ to node $B$. However, unlike a undirected graph, there’s no edge from node $B$ to node $A$.
</aside>

<aside> 💡 Weighted Graphs are graphs where edges contain a “weight”, a value associated with it.
</aside>
