java-toteutus etuliitteestä trien tietorakenteesta.
Johdanto
kokeilut ovat kartan kaltaisia järjestettyjä puurakenteisia tietorakenteita, jotka tarjoavat nopean haun järjestyksestä O(k)
, jossa k
on avaimen pituus. Lue lisää triestä täältä.
Motivaatio
tämä rakennettiin alun perin käytettäväksi Android-sovelluksessani, T9 App Launcherissa, jolla voi nopeasti etsiä asennettujen sovellusten luettelon ja käynnistää ne.
julkiset sovellusliittymät
tällä hetkellä on olemassa 3 julkista toteutusta, joista voi valita.
-
MapTrie
:HashMap
tuki kolmikannan täytäntöönpanoa. -
SortedTrie
:TreeMap
tukena trie toteutus, joka palauttaa ehdotuksia ja arvo on nouseva lajitella järjestyksessä. -
T9Trie
: Helper toteutus tallentaa ja hakea ehdotuksia T9 sekvenssi.
Esimerkkikäyttö
yksinkertaisen kolmikon luominen ja ehdotusten saaminen.
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();
yllä oleva print()
kutsu tulostaisi puun rakenteen näin.
└── h ├── e │ └── l │ ├── l │ │ └── o'Hello │ └── p'Help └── a ├── s'Has ├── v │ └── e'Have └── d'Had └── n └── ' └── t'Hadn't
yritetään nyt löytää kaikki ha
alkavat sanat. Muista, että, oletuksena avaimet ovat tapaus epäherkkä.
List<String> suggestions = trie.getValueSuggestions("ha");System.out.print(suggestions.toString());
Tämä tulostaa konsolille. Arvo jätetään koskemattomaksi.
panos
jos olet kehittäjä ja haluat osallistua, harkitse pull-pyynnön tekemistä. Arvostaisin kaikkea säännöstöön tai täytäntöönpanoon yleensä liittyvää arvostelua.
lisenssi
tämä projekti on lisensoitu Apache 2.0-lisenssillä.