arunkumar9t2 / trie

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 haalkavat 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ä.

Vastaa

Sähköpostiosoitettasi ei julkaista.