* Vertices (also called nodes): The points in the graph.
* Edges (also called arcs): Connections between the vertices. Importantly, these connections have a direction, meaning they go from one vertex to another.
Here's a breakdown:
What makes it "directed"?
* Unlike an undirected graph where an edge simply connects two vertices, a digraph's edges have arrows.
* This arrow indicates the direction of the connection.
* For example, an edge from vertex A to vertex B means you can travel from A to B, but not necessarily from B to A.
Examples of digraphs:
* Road network: The vertices are cities, and the edges represent roads. The arrows show the direction of one-way streets.
* Family tree: Vertices are individuals, and edges represent parent-child relationships.
* Website navigation: Vertices are web pages, and edges are hyperlinks.
* Dependencies in a project: Vertices are tasks, and edges represent dependencies (e.g., task A must be completed before task B can start).
Applications of digraphs:
* Computer science: Representing program flow, data structures, and algorithms.
* Network analysis: Modeling communication networks, social networks, and transportation systems.
* Biology: Representing gene regulatory networks, protein interactions, and food webs.
* Operations research: Optimizing logistics, scheduling, and resource allocation.
Key concepts related to digraphs:
* In-degree: The number of edges coming into a vertex.
* Out-degree: The number of edges leaving a vertex.
* Path: A sequence of vertices connected by edges, following the direction of the arrows.
* Cycle: A path that starts and ends at the same vertex.
* Strongly connected component: A subset of vertices where there is a path from any vertex in the subset to any other vertex in the subset.
In summary: A digraph is a valuable tool for modeling relationships where direction matters, and it has wide applications in various fields.