[Haskell-cafe] permutations and performance
lemming at henning-thielemann.de
Sat Aug 16 15:53:23 EDT 2008
John D. Ramsdell wrote:
> Straight forward permation algorithm.
>> permutations :: Int -> [[Int]]
>> permutations n
>> | n <= 0 = 
>> | n == 1 = []
Btw. I think that case is redundant.
>> | otherwise =
>> concatMap (insertAtAllPos (n - 1)) (permutations (n - 1))
>> insertAtAllPos x  = [[x]]
>> insertAtAllPos x (y : l) =
>> (x : y : l) : map (y :) (insertAtAllPos x l)
More information about the Haskell-Cafe