Klasik kelime arama sorunları verimli bir Trie kullanılarak çözülebilir.
I WordNet, bir Trie depolamak ve daha sonra olası kelimelerin fast aramaları gerçekleştirmek bir kelime listesi, diyelim ki, bulma öneririz.
Bir çözelti şeklinde olacaktır:
- sözcük listesi yüklenemedi
- bir tray kelime listesini saklamak
- deşifre etmek bir kelime girişi kabul
permütasyonlarını denemek i = 1 N ..
a. arama permütasyon i tray kullanarak
b. olumlu bir sonuç varsa, ekran için bu mağaza
c. yineleme (i + +)
3 tekrarlayın.
edit:
Burada bir yan not herhangi bir N uzunlukta karakter kelime N olabileceğini olduğunu! (5040 olurdu 7 karakterler için) gerekli aramaları. Sen tray arama algoritması için bazı optimizasyonlar yapma düşünmelisiniz. Örneğin, erken geçersiz substrings iktidar ve bitiş permütasyon tekrarlayarak değil tarafından önemli verim elde.
örneğin kelime elma verilen, size ilk üç karakteri olarak "ppl" seçilen permutation olsaydı, hiçbir kelime bulunacaktır. Yani, ne olursa olsun sonunda a ve e permute nasıl bir kelime inşa edilemez. Permütasyon erken fesih sizin algoritmanın verimliliği için önemli olabilir.