summaryrefslogtreecommitdiff
path: root/H58.hs
diff options
context:
space:
mode:
Diffstat (limited to 'H58.hs')
-rw-r--r--H58.hs12
1 files changed, 12 insertions, 0 deletions
diff --git a/H58.hs b/H58.hs
new file mode 100644
index 0000000..2176997
--- /dev/null
+++ b/H58.hs
@@ -0,0 +1,12 @@
+import Tree
+import H55
+import H56
+
+symCbalTrees n
+ | n `mod` 2 == 0 = []
+ | otherwise = [Branch 'x' x (reverseTree x) | x <- cbalTree (n `div` 2)]
+
+reverseTree Empty = Empty
+reverseTree (Branch x l r) = Branch x (reverseTree r) (reverseTree l)
+
+symCbalTrees' = filter symmetric . cbalTree