|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
![]() ![]() Michaël Étudiant Inscription : septembre 2005 Messages : 1 367 ![]() |
Bonjour,
Désolé si ce topic a plutôt sa place dans le forum Algorithmique, mais étant donné qu'il utilise certaines notations de Zend et du PHP j'ai préféré le mettre ici, surtout que ce n'est sûrement pas bien difficile, mais je bloque. Voilà, je dispose d'un forum avec de très nombreuses catégories, sous catégories, sous-sous catégories et ainsi de suite. J'ai réussi à écrire l'algorithme pour établir ma hiérarchie à base de tableaux, toutefois je n'ai réussi qu'à faire une fonction récursive (plus simple à visualiser), j'aimerais savoir si vous pourriez m'aider (si c'est possible évidemment) à la transformer en fonction itérative, ce qui est sûrement plus performant (j'ai potentiellement énormément de catégories). J'ai pensé aux closures mais je ne les maîtrise pas. Voici la fonction : Code :
Par exemple, avec une catégorie mère et deux catégories filles, j'obtiens ceci : Code :
|
||||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : avril 2009 Messages : 1 157 ![]() |
est ce que tu peux essayer ton code en conditions réelles pour mesurer les performances ?
je demande ça parce que ce mois, j'ai fait un code qui avait l'air de de consommer beaucoup de ressources mais après avoir testé avec les données finales, le traitement que j'aurais pu optimiser mettait moins d'un vingtième du temps de génération de la page. donc je suis passé à la suite et j'ai mis cette optimisation dans la liste "à faire plus tard" en faisant des tests tu pourras voir si c'est la construction qui prend le plus de temps ou alors les requêtes dans la base de données par exemple ? toujours dans la même application, j'ai voulu optimiser un bout de code pour sélectionner seulement les éléments de l'arborescence et au final, j'ai gardé le bout de code qui cherche tout le contenu de la table même si la moitié n'est pas utilisé d'ailleurs ça me fait penser à une astuce que j'utilise dans toutes mes arborescences c'est ça : http://sqlpro.developpez.com/cours/arborescence/
__________________
GNAP ! |
|
|
00
|
|
|
#3 |
![]() ![]() Michaël Étudiant Inscription : septembre 2005 Messages : 1 367 ![]() |
Merci pour ce lien très intéressant
D'autre part en relisant mon code, je me suis aperçu que, puisque au final je récupère toutes les catégories, je peux faire un fetchAll (donc une seule requete), plutôt que énormément de requêtes SQL comme actuellement. Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com