Bir süredir otomatik tamamlama açılan açılan kutuyu uygulamak için veri yapısı olarak bir süredir Ternary Search Tree kullanıyordum. "Fo" kullanıcı tipi, açılan kutunun aşağı açılanCase Duyarsız Üçlü Arama Ağacı
foo gıda futbol
sorundur, Üçlü Arama Tree kullanılan benim şimdiki görüntüler alırken hangi harfe duyarlıdır, anlamına gelir. Uygulamam takip gibidir. Gerçek dünya tarafından yaklaşık 1 ++ yeas için kullanılmıştır. Bu nedenle, oldukça güvenilir olduğunu düşünüyorum.
Ancak, ben demektir duyarsız Üçlü Arama Ağacı, ben "fo" yazıp bir durumda arıyorum, açılan kutu aşağı düşmesi bana
Foo Yiyecek futbol gösterecektir
TST için bazı önemli arabirimler aşağıdadır; burada yeni durumun TST'nin de benzer arabirime sahip olduğunu umuyorum.
/**
* Stores value in the TernarySearchTree. The value may be retrieved using key.
* @param key A string that indexes the object to be stored.
* @param value The object to be stored in the tree.
*/
public void put(String key, E value) {
getOrCreateNode(key).data = value;
}
/**
* Retrieve the object indexed by key.
* @param key A String index.
* @return Object The object retrieved from the TernarySearchTree.
*/
public E get(String key) {
TSTNode<E> node = getNode(key);
if(node==null) return null;
return node.data;
}
Kullanım örneği aşağıdaki gibidir. TSTSearchEngine, temel omurgası olarak TernarySearchTree kullanıyor.
Example usage of Ternary Search Tree
// There is stock named microsoft and MICROChip inside stocks ArrayList.
TSTSearchEngine<Stock> engine = TSTSearchEngine<Stock>(stocks);
// I wish it would return microsoft and MICROCHIP. Currently, it just return microsoft.
List<Stock> results = engine.searchAll("micro");
Hayır. Bu şekilde yapılamaz. Orijinal veri kümesinin ABC ve aBc olduğunu düşünün. Eğer onu "ALL" ı büyük harfe dönüştürerek saklarsanız, sadece ABC'yi alma şansınız olacaktır. aBc uzayda kaybedecek. Benim dileğim, abc veririm, bana ABC ve aBc –
döndürür Ama ABC ve aBc değeri değil anahtar değil mi? – tddmonkey
Evet. ABC ve aBc değerleridir. TernarySearchTree'nin nasıl kullanıldığıyla ilgili TSTSearchEngine. –