arunkumar9t2 / trie

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.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.