Graph theory is a topic in mathematics that has been studied for hundreds of years. More recently, graphs have been used a lot in network theory, which has a plethora of applications in subjects as diverse as the spread of disease, the connections among websites on the Internet, the structure of power in Venice at the time of the Borgias and the interconnections among corporate boards in the modern world, to name just a few.
In an undirected graph, each edge is symmetric. That is, it connects two nodes, but there is nothing in the line to distinguish one node from the other. In an undirected graph, the edges are simple lines.
Such a graph might represent marriages --- because if Joe is married to Jill, Jill is married to Joe --- or some connections between computers, such as if the graph is of information flow, and information can flow both ways between the two computers.
In a directed graph, the edges have arrows and the connections can be in one direction or the other. Such a graph might represent flow of a disease, since the disease flows from infected people to uninfected people, and not the other way. In such graphs, one node is distinguished from the other; the node at one end is sometimes called the parent, and the node at the other end is called the child. A node can be the child of one relationship and the parent of another. In the disease example, Joe could give a disease to Jill, who gives it to Sam.
Graphs can contain both directed and undirected edges. For example, a graph of a family tree could have undirected edges for marriages and directed edges for parent-child relationships. In the usual family tree, the edges are not directed, but the direction is implied by the location of the nodes. Younger generations are placed lower on the page than older generations. But this can get complex. Another example of a combination graph would be one of the flow of information in a computer network where some connections go in both directions and some in only one direction.