a Trie adatstruktúra Előtag java implementációja.
Bevezetés
a próbálkozások olyan térképszerű rendezett fa alapú adatstruktúrák, amelyek gyors keresést biztosítanak a O(k)
sorrendben, ahol k
a kulcs hossza. Tudjon meg többet a trie-ről itt.
motiváció
ez eredetileg épült használni az én Android app, T9 App Launcher, hogy gyorsan keresni a listát a telepített alkalmazások és indítsa el őket.
nyilvános API-k
Jelenleg 3 nyilvános megvalósítás közül lehet választani.
-
MapTrie
:HashMap
támogatott trie végrehajtás. -
SortedTrie
:TreeMap
támogatott trie megvalósítás, amely visszaadja javaslatok és érték növekvő rendezési sorrendben. -
T9Trie
: Helper végrehajtása tárolni és letölteni javaslatokat T9 szekvencia.
példa használat
egyszerű trie létrehozása és javaslatok beszerzése.
final MapTrie<String> trie = new MapTrie<>();trie.insert("Hello", "Hello");trie.insert("Help", "Help");trie.insert("Has", "Has");trie.insert("Have", "Have");trie.insert("Had", "Had");trie.insert("Hadn't", "Hadn't"); // Print to stdouttrie.print();
a fenti print()
hívás így nyomtatná ki a fa szerkezetét.
└── h ├── e │ └── l │ ├── l │ │ └── o'Hello │ └── p'Help └── a ├── s'Has ├── v │ └── e'Have └── d'Had └── n └── ' └── t'Hadn't
most próbáljuk meg megtalálni az összes szót, amely ha
– vel kezdődik. Ne feledje, hogy alapértelmezés szerint a kulcsok nagybetűk érzéketlenek.
List<String> suggestions = trie.getValueSuggestions("ha");System.out.print(suggestions.toString());
ez – et fog nyomtatni a konzolra. Az érték érintetlen marad.
hozzájárulás
ha Ön fejlesztő, és szeretne hozzájárulni, kérjük, fontolja meg a lekérési kérelmet. Nagyra értékelnék minden kritikát a kóddal vagy általában a végrehajtással kapcsolatban.
licenc
ez a projekt Apache 2.0 licenc alatt licencelt.