1. A method of channel allocation in a wireless mesh network, comprising: determining a cut of a graph to obtain a bi-partite sub-graph, the graph representing a plurality of nodes and links between the plurality of nodes in the wireless mesh network; assigning a channel to the bi-partite graph; removing the obtained the bi-partite subgraph from the graph; and repeating the determining, assigning and removing steps until the graph has been divided into k bi-partite subgraphs, where k is the number of channels being scheduled.