is a graph where each edge is undirected or bi-directional, and this means that the undirected graph does not move in any direction.
also called a Digraph is a graph where every edge is directed. Each node is directed at another node with a specific requirement of what node should be referenced next.
is when all nodes are connected to all other nodes.
is graph that has all of vertices/nodes have at least one edge. A Tree is a form of a connected graph.
is a graph where some vertices may not have edges.
is a directed graph without cycles. Cycle is when a node can be traversed through and potentially end up back at itself.
is a graph that has cycles. Cycle is defined as a path of a positive length that starts and ends at the same vertex.
is represented through a 2-dimensional array. If there are n vertices, then we are looking at an n x n Boolean matrix
required to traverse through a graph. The traversals itself are like those of trees.
>>
Breadth first traversal start at a specific vertex/node. This node must be specified when calling the BreadthFirst() method.
>>
Depth first traversal, we approach it a bit different than the way we do when working with a depth first traversal of a tree. Similar to how the breadth-first uses a queue, we are going to use a Stack for our depth-first traversal.