Aller au contenu

Radix sort sur android ?


Mikiya

Recommended Posts

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

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

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

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

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...