Page 1 sur 1

[Tableaux] Construction récursive et arbres

Posté : 27 avr. 2010, 08:55
par katagoto
Bonjour à toutes et à tous,

Comme tout le monde le sait, ou tout de moins ceux qui lisent une bonne partie du forum :), je participe à la finale de Prologin. Je pense que durant mon épreuve je vais avoir besoin de manipuler des arbres assez grands (peut-être un million de noeuds, 100 noeuds à chaque noeuds sur 10.000 niveaux), je l'aurais bien fait en objets... mais je sens que je vais être désaventagé en prefs (l'année prochaine je le fais en Haskell). Je vais le faire en array(). Je vais avoir de gros traitements à faire (rédéfinition du noeud racine, traitements de masse, etc.). Mes noeuds contiendrons un trableau association, ou table de hachage, et mes feuilles contendront un nombre. L'arbre sera contruit via une fonction récursive. Je vais utiliser les références, mais j'aimerais connaitre vos trucs pour améliorer les performances.

Je prends tout ^^,

Par avance merci de votre aide.

Re: [Tableaux] Construction récursive et arbres

Posté : 27 avr. 2010, 10:05
par Calimero
Hello,

Je peux t'en donner un : limite la taille des clés dans le tableau :) (plus c'est court, mieux ce sera pour les perfs).

Petit extrait d'un bench sous 5.3.2 pour illustrer :
Accès à un tableau associatif de 1000 éléments suivant la longueur des clés

          | l=10  |  l=100  |  l=1000
----------+-------+---------+-----------
lecture   | 643µs | 1.043ms | 7.354ms
----------+-------+---------+-----------
écriture  | 607µs | 1.057ms | 9.287ms

Re: [Tableaux] Construction récursive et arbres

Posté : 27 avr. 2010, 19:51
par katagoto
Bonsoir, merci de ta réponse, si tu as d'autres conseils, je prends tout ^^'

Par avance,
Merci

PS : d'où tu tiens cette mise en forme ? c'est beau

Re: [Tableaux] Construction récursive et arbres

Posté : 27 avr. 2010, 20:58
par Calimero
PS : d'où tu tiens cette mise en forme ? c'est beau
C'est de l'ascii art, (fait à la main dans mon éditeur de texte - il suffit d'utiliser une police monospace) inspiré de la mise en forme que produit par exemple la ligne de commande mysql :
mysql> SELECT * FROM tb_jeux;
+--------+--------+-----------+
| id_jeu | nom    | languages |
+--------+--------+-----------+
|      1 | Test 1 |         0 |
|      2 | Test 2 |         3 |
|      3 | Test 3 |         5 |
|      4 | Test 4 |        15 |
|      5 | Test 5 |         6 |
+--------+--------+-----------+
5 rows in set (0.00 sec)

Re: [Tableaux] Construction récursive et arbres

Posté : 28 avr. 2010, 06:57
par katagoto
Merci de la précision, je vais m'amuser un peu ^^

Bon bah, c'est partit :)