私はしばらくの間、Ternary Search Treeを使用していましたが、自動完全ドロップダウンコンボボックスを実装するデータ構造体です。 「FO」ユーザータイプは、コンボボックスのドロップダウンが大文字と小文字を区別しない3進数の検索ツリー
fooの 食品 サッカー
問題があり、3分探索木の使用私の現在を表示するときには、大文字と小文字が区別され、意味します。私の実装は以下の通りです。現実世界では約1 + +のために使用されていた。したがって、私はそれをかなり信頼できるものと考えています。
しかし、私は意味鈍感な3分探索木、私は「FO」と入力する場合を探しています、コンボボックスのドロップダウンは私に
FOO 食品 サッカーが表示されます
ここにTSTの重要なインターフェイスがあります。新しいケースのインセンティブTSTにも同様のインターフェイスがあることを願っています。
/**
* 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;
}
使用例は以下のとおりです。 TSTSearchEngineはTernarySearchTreeをコアバックボーンとして使用しています。
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");
いいえ、そうすることはできません。元のデータセットABCとABCがあるとします。それを "ALL"を大文字に変換して保存すると、ABCを検索する機会が得られます。 aBcはスペースで失われます。私の希望は、私はabcを提供し、それは私にABCとaBcを返す –
しかしABCとaBcはキーではなく値ではないのですか? – tddmonkey
はい。 ABCとaBcは値です。 TernarySearchTreeがどのように使用されているかについては、TSTSearchEngineをご覧ください。 –