Mikiya Posté(e) 14 février 2011 Share Posté(e) 14 février 2011 Salut a tous Alors voila je viens vous faire part d'un soucis/bug que j'ai rencontré hier et que je ne sais pas comment changer. Dans le cadre d'un jeu, je dois rechercher des mots, j'ai donc utilisé un patricia/radix trie, en utilisant cette lib : http://code.google.com/p/patricia-trie/ et cette partie de code : String PATH = Environment.getExternalStorageDirectory()+ "/Boggle/"; LexiconTrie.loadDictionnary(PATH+"dictionnary.txt"); avec LexiconTrie qui à import le jar plus haut et qui a comme methode load : public static void loadDictionnary(String file) { File dictionnary = new File(file); //la classe File n'est pas celle de java mais une redefinie, avec notamment la methode importData ArrayList<String> words = dictionnary.importData(); // On crée l'arbre en lui spécifiant qu'il doit analyser les clés en tant que string LexiconTrie.trie = new PatriciaTrie<String,String>(new StringKeyAnalyzer()); Iterator<String> it = words.iterator(); while(it.hasNext()) LexiconTrie.addWord(it.next()); // On ajoute un mot à l'arbre } et le loadDico part en vrille en fait, le dico fait 4Mo mais quand il arrive au load, la ram monte a plus de 40 Mo, me processeur tourne a 80% (sur SGS) pendant plus de 5min puis se fait killer par l'os, donc si quelqu'un a une facon d'utiliser ces arbres de maniere efficace sur android , merci :s (je precise que sur ordi en java, par contre 0 problemes avec un algo de ce type) Merci Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mikiya Posté(e) 14 février 2011 Auteur Share Posté(e) 14 février 2011 Après debug aproffondi, le fichier est bien lu, les mots bien extraits, il les lis bien un apres l'autre et les ajoute par contre c'est le parcours et l'ajout de la globalité au patricie trie qui demande beaucoup trop de ressources apparemment, un moyen d'aider ? :( merci ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Alocaly Posté(e) 17 février 2011 Share Posté(e) 17 février 2011 Waaa... Je pense que tu n'y arriveras pas comme ca.... Pour mon jeu "chasseur de mots", qui semble ressembler au tien, je me suis fait un algo à la main (un peu du style de celui que tu présentes) qui permet de compresser les mots et de rechercher efficacement dans le dico, et surtout je stocke le dico pré compressé... Sinon, c'est la mort. Mais apres ca, mes recherches sont quasiment gratuites, meme sur mon bon vieux G1 ! Bon courage Emmanuel / Alocaly Lien vers le commentaire Partager sur d’autres sites More sharing options...
Mikiya Posté(e) 17 février 2011 Auteur Share Posté(e) 17 février 2011 Merci :) Et bien en fait un patricia trie est puissant dans ce cas pour la recherche de préfixe. Mais je vais tenter quelque chose, je vais serialiser l'arbre sur le pc pour l'exploiter sur android, ça devrait grandement alleger. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.