This library offers two flavors of binary search trees as well as building blocks that allow advanced users to construct their own custom flavors.
For height-balanced binary search trees, ready for use, please see Baby.H.Set.Make.
For weight-balanced binary search trees, ready for use, please see Baby.W.Set.Make.
The signature Baby.OrderedType describes a type equipped with a total ordering function.
The signature Baby.BASE_SET describes the interface that is offered by the base layer (the balancing code) to the upper layer (the set library).
The signature Baby.BASE_MAP describes the interface that is offered by the base layer (the balancing code) to the upper layer (the map library).
The signature Baby.SET describes an abstract data type of sets, equipped with a wide array of efficient operations.
The signature Baby.MAP describes an abstract data type of maps, equipped with a wide array of efficient operations.
The signature Baby.SET_MAP describes abstract data types of sets and maps. They are described in two forms:
The module Baby.H provides ready-made height-balanced binary search trees.
The module Baby.W provides ready-made weight-balanced binary search trees.
The functor Baby.Custom constructs balanced binary search trees based on a user-supplied balancing scheme.