Итак, я пытаюсь создать интеллектуальную структуру данных, основанную на дереве AVL и Hash Table.Создание интеллектуальной структуры данных в Java
Я убедился, что мне нужно сначала проверить, какая реализация будет иметь тип данных, в зависимости от размера, указанного ему.
Например, если у меня есть список n размером 1000, он будет реализован с использованием таблицы Hash. Для чего-либо более 1000, используя дерево AVL.
Код для этого:
public class SmartULS<K,V> {
protected TreeMap<K,V> tree = new TreeMap<>();
protected AbstractHashMap<K,V> hashMap = new AbstractHashMap<K,V>();
public void setSmartThresholdULS(size){
int threshold = 1000;
if (size >= threshold) {
map = new AbtractMap<K,V>();
}
else
map = new TreeMap<K,V>();
}
}
Теперь после этого, я должен писать стандартные методы, такие как
Get (SmartULS, Key), добавьте (SmartULS, Key, Value), удалить (SmartULS, Key), nextKey (Key), previousKey (Key) и т. Д.
Я действительно потерял, как начать это? Я думал о создании таких методов, как это (написано в псевдо):
Algorithm add(SmartULS, Key, Value):
i<- 0
If SmartULS instanceof AbstractHashMap then
For i to SmartULS.size do
If Key equals to SmartULS[i] then
SmartULS.get(Key).setValue(Value)
Else
SmartULS.add(Key, Value)
Else if SmartULS instanceof TreeMap then
Entry newAdd equals new MapEntry(Key, Value)
Position<Entry> p = treeSearch(root(), Key)
Пожалуйста, ознакомьтесь с [просить] –
@EngineerDollery Вместо размещения, что вы могли бы помочь парню. – X1XX