Cómo implementar el mapa usando el árbol de búsqueda binario en Java

No veo absolutamente ninguna razón para hacer eso. Mapa, en general, es un mapeo entre un tipo primitivo a otro tipo (puede ser complejo o puntero). Normalmente recurriría a la implementación de HashMap, que proporciona una complejidad de búsqueda de tiempo casi constante. Sin embargo, la desventaja es que la complejidad del espacio es lineal en la cantidad de claves que se almacenan en el mapa hash. BST en la comprensión normal requiere la misma complejidad de espacio, mientras que tiene una complejidad de búsqueda logarítmica. Por lo tanto, no hay razón para usar BST para búsquedas de cadenas. Por otro lado, puede usar Suffix Tree o Trie para búsquedas rápidas de cadenas y necesidades de espacio optimizadas.

También hay un concepto de mapa ordenado, que a menudo se implementa a través de alguna variación de BST (normalmente rojo-negro), pero nuevamente no veo ninguna razón para no usar SL para este propósito

Un mapa es una matriz asociativa de clave-> valor.

Ahora imagine un árbol de búsqueda binario que almacena una tupla (clave, valor) pero que solo considera la clave para la inserción / búsqueda / eliminación.

Así es como.