Graphs are a data structure composed of nodes connected by edges. There are two main types: directed graphs where edges show a flow between nodes, and undirected graphs where edges simply show a relationship between nodes. Key terminology includes adjacent nodes, paths, cyclic vs acyclic paths, and representations like adjacency matrices and lists. Graphs can model many real-world applications such as social networks, computer networks, road maps, and more.