Copyright | Copyright (C) 2021 Yoo Chung |
---|---|

License | GPL-3.0-or-later |

Maintainer | dev@chungyc.org |

Safe Haskell | Safe-Inferred |

Language | GHC2021 |

Part of Ninety-Nine Haskell Problems. Some solutions are in Solutions.P59.

## Synopsis

- heightBalancedTrees :: Int -> [Tree ()]

# Documentation

heightBalancedTrees :: Int -> [Tree ()] Source #

In a height-balanced binary tree, the following property holds for every node: The height of its left subtree and the height of its right subtree are almost equal, which means their difference is not greater than one.

Construct a list of all height-balanced binary trees with the given maximum height.

### Examples

`>>>`

[ Branch () (Branch () Empty Empty) Empty , Branch () (Branch () Empty Empty) (Branch () Empty Empty) , Branch () Empty (Branch () Empty Empty) ]`printTreeList $ heightBalancedTrees 2`

`>>>`

315`length $ heightBalancedTrees 4`