In graph theory, edge coloring of a graph is an assignment of “colors” to the edges of the graph so that no two adjacent edges have the same color with an optimal number of colors. Two edges are said to be adjacent if they are connected to the same vertex. There is no known polynomial time algorithm for edge-coloring every graph with an optimal number of colors. Nevertheless, a number of algorithms have been developed that relax one or more of these criteria, they only work on a subset of graphs, or they do not always use an optimal number of colors, or they do not always run in polynomial time.
Input : u1 = 1, v1 = 4 u2 = 1, v2 = 2 u3 = 2, v3 = 3 u4 = 3, v4 = 4 Output : Edge 1 is of color 1 Edge 2 is of color 2 Edge 3 is of color 1 Edge 4 is of color 2 The above input shows the pair of vertices(ui, vi) who have an edge between them. The output shows the color assigned to the respective edges.
Edge colorings are one of several different types of graph coloring problems. The above figure of a Graph shows an edge coloring of a graph by the colors green and black, in which no adjacent edge have the same color.
Below is an algorithm to solve the edge coloring problem which may not use an optimal number of colors:
- Use BFS traversal to start traversing the graph.
- Pick any vertex and give different colors to all of the edges connected to it, and mark those edges as colored.
- Traverse one of it’s edges.
- Repeat step to with a new vertexd until all edges are colored.
Below is the implementaion of above approach:
Edge 1 is of color 1 Edge 2 is of color 2 Edge 3 is of color 1 Edge 4 is of color 2
Reference : https://en.wikipedia.org/wiki/Edge_coloring
GeeksforGeeks has prepared a complete interview preparation course with premium videos, theory, practice problems, TA support and many more features. Please refer Placement 100 for details
- Coloring a Cycle Graph
- Graph Coloring | Set 1 (Introduction and Applications)
- Graph Coloring | Set 2 (Greedy Algorithm)
- Mathematics | Planar Graphs and Graph Coloring
- Check if removing a given edge disconnects a graph
- Program to Calculate the Edge Cover of a Graph
- Shortest Path in a weighted Graph where weight of an edge is 1 or 2
- Maximize number of nodes which are not part of any edge in a Graph
- Add and Remove Edge in Adjacency List representation of a Graph
- Tree, Back, Edge and Cross Edges in DFS of Graph
- Find weight of MST in a complete graph with edge-weights either 0 or 1
- Maximum Possible Edge Disjoint Spanning Tree From a Complete Graph
- Find the maximum component size after addition of each edge to the graph
- m Coloring Problem | Backtracking-5
- Convert the undirected graph into directed graph such that there is no path of length greater than 1
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.