List rooted trees: Difference between revisions

Content added Content deleted
m (→‎{{header|REXX}}: changed whitespace and some comments.)
Line 394: Line 394:
bagPatterns n =
bagPatterns n =
nub $
nub $
(bracketsFromTree . depthSortedTree . treeFromParentIndices) <$>
bracketsFromTree . depthSortedTree . treeFromParentIndices <$>
parentIndexPermutations n
parentIndexPermutations n


parentIndexPermutations :: Int -> [[Int]]
parentIndexPermutations :: Int -> [[Int]]
parentIndexPermutations =
parentIndexPermutations = traverse (enumFromTo 0) . enumFromTo 0 . subtract 2
sequenceA . fmap (enumFromTo 0) . enumFromTo 0 . subtract 2


treeFromParentIndices :: [Int] -> Tree Int
treeFromParentIndices :: [Int] -> Tree Int