A graph can be represented by one of three data structures: an adjacency matrix, an adjacency list, or an adjacency set. An adjacency matrix is similar to a table with rows and columns. The nodes of a graph are represented by the row and column labels. Every vertex in a graph's adjacency list is represented as a node object. The adjacency set alleviates some of the issues raised by the adjacency list. The adjacency set is considerably similar to an adjacency list, but instead of a linked list, it provides a collection of neighboring vertices.