derangement-0.1.0: Find derangements of listsContentsIndex
Data.List.Derangement
Description
A module for finding derangements of multisets This uses a reduction to the Max Flow problem and then the Edmonds-Karp algorithm provided by Data.Graph.Inductive.Query.MaxFlow to find a valid matching.
Synopsis
derangement :: Eq a => [a] -> [a]
derangementWRT :: Eq b => (a -> b) -> [a] -> [a]
derangementBy :: (a -> a -> Bool) -> [a] -> [a]
Documentation
derangement :: Eq a => [a] -> [a]
Returns a derangement of a multiset or of a maximal fixed-point free subset represented here as (a,b) where a is paired with b
derangementWRT :: Eq b => (a -> b) -> [a] -> [a]
Like derangement but applies f :: (Eq b) => (a -> b)
derangementBy :: (a -> a -> Bool) -> [a] -> [a]
Like derangement this returns a zipped derangement but applies f :: (a -> b) before doing equality tests.
Produced by Haddock version 0.8