Portability | non-portable |
---|---|

Stability | experimental |

Maintainer | virukav@gmail.com |

The LinearSplit module implements partitioning the sequence of items to the subsequences in the order given. The next functions are exported: a) gPartition - split the sequence of items items using greedy heuristic. b) lPartition - split the sequence of items to minimize the maximum cost over all the subsequences using linear partition algorithm (see the 'The Algorithm Design Manual' by Steven S. Skiena..) c) ltPartition - the approximation of the linear partition algorithm. The large size of the work items space is decreased by combining the consecutive items based on the threshold parameter.

# Documentation

Representation of the work item

Range of work items

lPartition :: (Num b, Ord b) => Int -> [Item a b] -> [Range a b]Source

Partition items to minimize the maximum cost over all ranges