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.