Networks are also useful in scheduling problems, where you need to arrange activities into different slots so that there are no conflicts. For example, we could use networks to schedule classes to make sure that students who are taking different options do not have to be in two classes at once. In this scenario, the nodes will represent the different classes and the edges will indicate that there are students taking both classes. The process we use to solve these kinds of problems is called *network coloring*. This process involves assigning the fewest possible colors to the nodes in a network so that no two adjacent nodes have the same color.

In this recipe, we will learn how to color a network to solve a simple scheduling problem.

## Getting ready

For this recipe, we need the NetworkX package imported as `nx` and the Matplotlib `pyplot` module imported as `plt`.

## How to do it...

Follow these steps to solve a network coloring...