Jak zaimplementować tabelę Hashtable przy użyciu drzewa wyszukiwania binarnego?

Udało mi się zaimplementować Hashtable za pomocą tablicy, po prostu używając następującej struktury danych.

LinkedList<Item<K,V>> table[]
const int MAX_SIZE = 100

tj. tablicę połączonej listy (mieszanie z łańcuchem).

Teraz w różnych książkach mówią, że możemy zaimplementować hashtable z BST, jeśli chcemy zamówić dane. Jak włączyć klucz i wartość do BST. Chociaż mogę przechowywać zarówno tak, jak przechowuję pojedynczy element danych, ale klucz daje liczbę całkowitą, która zachowuje się jak indeks do tablicy po tym, jak była już funkcją mieszania. Jak używać klucza w BST? Nie potrzebuję żadnego indeksu?

Myślę, że mogę porównać dwa klucze za pomocą funkcji, a następnie wykonać normalne wstawienie i usunięcie.

EDYTOWANIE:

Załóżmy, że mam BST od podstaw

class Node {
        K key;
        V value;
        Node left;
        Node right;
    }


class BinarySearchTree {
            Node root;
        }


class Hashtable {

BinarySearchTree bst;

public void Hashtable() {
bst = new BinarySearchTree();
}

//hashfunction(K key)

//get(K Key)

//put(K key,V value)

//remove(K key)

}

Jak użyć klucza odwzorowanego na liczbę całkowitą do implementacji

insert(V value) 

w BST.

questionAnswers(4)

yourAnswerToTheQuestion