Необходимо ли реализовать BST с ключами и значениями? Я могу реализовать BST, который имеет вызовы методов, такие как следующие, в которых он будет сравнивать на каждом узле, должен ли обход идти к левому узлу или правому узлу на основе значения V:
public class BST<V>
{
public void Insert(V value)
{
//implementation
}
public V Remove(V value)
{
//implementation
}
//other methods
}
Или я могу реализовать BST так, чтобы он имел вызовы методов, подобные следующим, в которых K ключей являются сравнительным определением того, следует ли перейти к левому узлу или правому узлу:
public class BST<K key, V value>
{
public void Insert(K key, V value)
{
//implementation
}
//which of the following would then be the appropriate method signature?
public V Remove(K key)
{
//implementation
}
//or?
public V Remove(V Value)
{
//implementation
}
//other methods
}