• Given an equality function elemEquals and two red-black trees aTree1 and aTree2, returns a boolean telling if the two trees are equal according to this equality function. This function is curried on its first parameter.

    Parameters

    • elemEquals: ((a: any, b: any) => boolean) = ...

      an equality function for elements

        • (a, b): boolean
        • Parameters

          • a: any
          • b: any

          Returns boolean

    Returns ((a: RBTree<any>, b: RBTree<any>) => boolean)

    • an equality function for red-black trees
      • (a, b): boolean
      • Parameters

        Returns boolean

    treeEquals()(leaf(1, nil), leaf(1, nil)) // -> true
    treeEquals()(leaf(1, nil), leaf(3, nil)) // -> false
    treeEquals((a,b) => (a-b)%2 === 0)(leaf(1, nil), leaf(3, nil)) // -> true