- Graph Theory - Home
- Graph Theory - Introduction
- Graph Theory - History
- Graph Theory - Fundamentals
- Graph Theory - Applications
- Types of Graphs
- Graph Theory - Types of Graphs
- Graph Theory - Simple Graphs
- Graph Theory - Multi-graphs
- Graph Theory - Directed Graphs
- Graph Theory - Weighted Graphs
- Graph Theory - Bipartite Graphs
- Graph Theory - Complete Graphs
- Graph Theory - Subgraphs
- Graph Theory - Trees
- Graph Theory - Forests
- Graph Theory - Planar Graphs
- Graph Theory - Hypergraphs
- Graph Theory - Infinite Graphs
- Graph Theory - Random Graphs
- Graph Representation
- Graph Theory - Graph Representation
- Graph Theory - Adjacency Matrix
- Graph Theory - Adjacency List
- Graph Theory - Incidence Matrix
- Graph Theory - Edge List
- Graph Theory - Compact Representation
- Graph Theory - Incidence Structure
- Graph Theory - Matrix-Tree Theorem
- Graph Properties
- Graph Theory - Basic Properties
- Graph Theory - Coverings
- Graph Theory - Matchings
- Graph Theory - Independent Sets
- Graph Theory - Traversability
- Graph Theory Connectivity
- Graph Theory - Connectivity
- Graph Theory - Vertex Connectivity
- Graph Theory - Edge Connectivity
- Graph Theory - k-Connected Graphs
- Graph Theory - 2-Vertex-Connected Graphs
- Graph Theory - 2-Edge-Connected Graphs
- Graph Theory - Strongly Connected Graphs
- Graph Theory - Weakly Connected Graphs
- Graph Theory - Connectivity in Planar Graphs
- Graph Theory - Connectivity in Dynamic Graphs
- Special Graphs
- Graph Theory - Regular Graphs
- Graph Theory - Complete Bipartite Graphs
- Graph Theory - Chordal Graphs
- Graph Theory - Line Graphs
- Graph Theory - Complement Graphs
- Graph Theory - Graph Products
- Graph Theory - Petersen Graph
- Graph Theory - Cayley Graphs
- Graph Theory - De Bruijn Graphs
- Graph Algorithms
- Graph Theory - Graph Algorithms
- Graph Theory - Breadth-First Search
- Graph Theory - Depth-First Search (DFS)
- Graph Theory - Dijkstra's Algorithm
- Graph Theory - Bellman-Ford Algorithm
- Graph Theory - Floyd-Warshall Algorithm
- Graph Theory - Johnson's Algorithm
- Graph Theory - A* Search Algorithm
- Graph Theory - Kruskal's Algorithm
- Graph Theory - Prim's Algorithm
- Graph Theory - Borůvka's Algorithm
- Graph Theory - Ford-Fulkerson Algorithm
- Graph Theory - Edmonds-Karp Algorithm
- Graph Theory - Push-Relabel Algorithm
- Graph Theory - Dinic's Algorithm
- Graph Theory - Hopcroft-Karp Algorithm
- Graph Theory - Tarjan's Algorithm
- Graph Theory - Kosaraju's Algorithm
- Graph Theory - Karger's Algorithm
- Graph Coloring
- Graph Theory - Coloring
- Graph Theory - Edge Coloring
- Graph Theory - Total Coloring
- Graph Theory - Greedy Coloring
- Graph Theory - Four Color Theorem
- Graph Theory - Coloring Bipartite Graphs
- Graph Theory - List Coloring
- Advanced Topics of Graph Theory
- Graph Theory - Chromatic Number
- Graph Theory - Chromatic Polynomial
- Graph Theory - Graph Labeling
- Graph Theory - Planarity & Kuratowski's Theorem
- Graph Theory - Planarity Testing Algorithms
- Graph Theory - Graph Embedding
- Graph Theory - Graph Minors
- Graph Theory - Isomorphism
- Spectral Graph Theory
- Graph Theory - Graph Laplacians
- Graph Theory - Cheeger's Inequality
- Graph Theory - Graph Clustering
- Graph Theory - Graph Partitioning
- Graph Theory - Tree Decomposition
- Graph Theory - Treewidth
- Graph Theory - Branchwidth
- Graph Theory - Graph Drawings
- Graph Theory - Force-Directed Methods
- Graph Theory - Layered Graph Drawing
- Graph Theory - Orthogonal Graph Drawing
- Graph Theory - Examples
- Computational Complexity of Graph
- Graph Theory - Time Complexity
- Graph Theory - Space Complexity
- Graph Theory - NP-Complete Problems
- Graph Theory - Approximation Algorithms
- Graph Theory - Parallel & Distributed Algorithms
- Graph Theory - Algorithm Optimization
- Graphs in Computer Science
- Graph Theory - Data Structures for Graphs
- Graph Theory - Graph Implementations
- Graph Theory - Graph Databases
- Graph Theory - Query Languages
- Graph Algorithms in Machine Learning
- Graph Neural Networks
- Graph Theory - Link Prediction
- Graph-Based Clustering
- Graph Theory - PageRank Algorithm
- Graph Theory - HITS Algorithm
- Graph Theory - Social Network Analysis
- Graph Theory - Centrality Measures
- Graph Theory - Community Detection
- Graph Theory - Influence Maximization
- Graph Theory - Graph Compression
- Graph Theory Real-World Applications
- Graph Theory - Network Routing
- Graph Theory - Traffic Flow
- Graph Theory - Web Crawling Data Structures
- Graph Theory - Computer Vision
- Graph Theory - Recommendation Systems
- Graph Theory - Biological Networks
- Graph Theory - Social Networks
- Graph Theory - Smart Grids
- Graph Theory - Telecommunications
- Graph Theory - Knowledge Graphs
- Graph Theory - Game Theory
- Graph Theory - Urban Planning
- Graph Theory Useful Resources
- Graph Theory - Quick Guide
- Graph Theory - Useful Resources
- Graph Theory - Discussion
Graph Theory - Connected Graphs
Connected Graphs
In graph theory, a connected graph is one where there is a path between every pair of vertices. This means that, for any two vertices u and v in the graph, you can find a sequence of edges that connects them. Connected graphs can be undirected or directed.
This graph is connected because there is a path between every pair of vertices.
Characteristics of Connected Graphs
Following are the major characteristics of a connected graph −
- Path Existence: For any two vertices "u" and "v" in the graph, there exists at least one path connecting them. This is the fundamental property of connected graphs
- Single Component: A connected graph consists of a single component, meaning all vertices are reachable from any other vertex within the same graph. In other words, there are no isolated vertices or disconnected subgraphs.
- Connectivity in Directed Graphs: In directed graphs (digraphs), a graph is considered strongly connected if there is a directed path from any vertex to every other vertex. It is considered weakly connected if replacing all directed edges with undirected edges makes the graph connected.
Properties of Connected Graphs
Connected graphs have several important properties that are useful in graph analysis −
- Connectivity: The minimum number of vertices or edges that need to be removed to disconnect the graph.
- Connected Components: The maximal connected subgraphs of a graph.
- Articulation Points: Vertices whose removal increases the number of connected components.
- Bridges: Edges whose removal increases the number of connected components.
Types of Connected Graphs
In graph theory, connected graphs can be further classified based on specific properties and levels of connectivity. Following are the main types of connected graphs −
Strongly Connected Graph
A strongly connected graph is a directed graph in which there is a directed path from any vertex to every other vertex. This means that for any two vertices u and v in the graph, there are paths uv and vu.
Weakly Connected Graph
A weakly connected graph is a directed graph where, if all the directed edges are replaced with undirected edges, the resulting undirected graph is connected. In other words, the graph is weakly connected if there is a path between any pair of vertices when direction is ignored.
Biconnected Graph
A biconnected graph (also known as a 2-connected graph) is an undirected graph that remains connected after the removal of any single vertex. In other words, there are no articulation points (vertices whose removal disconnects the graph).
K-Connected Graph
A k-connected graph is an undirected graph in which there are at least k vertex-disjoint paths between any two vertices. This means that the graph remains connected even after the removal of k1 vertices. The higher the value of k, the more connected the graph is.
In this graph, there are three vertex-disjoint paths between any pair of vertices. Here, the nodes A, B, C, and D form a complete subgraph (K4), and the nodes D, E, F, and G form another complete subgraph (K4), sharing node D to ensure 3-connectivity.
Tree
A tree is a type of connected, undirected graph that has no cycles. Trees have the property that there is exactly one path between any pair of vertices, making them minimally connected. A tree with n vertices has exactly n1 edges.
Algorithms for Checking Connectivity
We can use various algorithms to check the connectivity of a graph, such as −
- Breadth-First Search (BFS)
- Depth-First Search (DFS)
- Tarjan's Algorithm
- Kosaraju's Algorithm
Breadth-First Search (BFS)
Breadth-First Search is used to traverse the graph and check connectivity in an undirected graph. BFS starts from a selected node, explores all its neighbors, and then moves to the next level of neighbors. If all nodes are reachable from the starting node, the graph is connected.
In the following example, we use BFS to check the connectivity of an undirected graph −
A - B - C | | | D - E - F
BFS starting from vertex A visits all vertices, confirming the graph is connected.
Depth-First Search (DFS)
Depth-First Search is used to explore all possible paths and check connectivity in both directed and undirected graphs. DFS starts from a selected node and explores as far along each branch as possible before backtracking. If all nodes are reachable from the starting node, the graph is connected.
In the following example, we use DFS to check the connectivity of an undirected graph −
A - B - C | | | D - E - F
DFS starting from vertex A visits all vertices, confirming the graph is connected.
Tarjan's Algorithm
Tarjan's Algorithm is used to find strongly connected components in a directed graph. This algorithm performs a DFS while keeping track of nodes using a stack, allowing it to identify cycles and strongly connected components.
In the following example, we use Tarjan's algorithm to find strongly connected components in a directed graph −
A B C
D E F
Tarjan's algorithm identifies the strongly connected components: {A, B, E, D} and {C, F}.
Kosaraju's Algorithm
Kosaraju's Algorithm is used to find strongly connected components in a directed graph. This algorithm involves two passes of DFS. The first pass processes nodes in reverse topological order, and the second pass finds strongly connected components by processing nodes in the order defined by the first pass.
Applications of Connected Graphs
Connected graphs have various applications across various fields −
- Network Design: Designing communication and transportation networks to ensure all nodes are connected.
- Social Networks: Analyzing the connectivity of individuals or groups.
- Biology: Studying the connectivity of biological networks such as neural or ecological networks.
- Computer Science: Solving problems related to graph traversal, optimization, and data structures.
- Urban Planning: Designing road and utility networks to ensure connectivity.