begin process at 2012 05 28 15:45:16
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

Algo "modified preorder tree traversal"


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Algo "modified preorder tree traversal"

samedi 30 janvier 2010 à 11:51:54 | Algo "modified preorder tree traversal"

kohntark

Membre Club
Salut,

Une fois n'est pas coutume je VEUX un code tout fait !!! (<== règlement !!)

ma masse capillaire commence à souffrir dangereusement de mes tentatives d'implémenter une structure hiérarchique non récursive et je préfèrerai utiliser les quelques neurones qu'il me reste à d'autres tâches.

Je galère à trouver une classe PHP5 qui puisse implémenter cet algorithme.
J'entends par là une classe documentée qui permette de gérer facilement l'ajout, la suppression et la mise à jour des noeuds de l'arbre (=== pas de prise de tête à recalculer manuellement les right et left)

Dans l'absolu une classe capable de générer une liste ul/ol après l'application d'un filtre (du style ne pas faire apparaitre certains noeuds/ul/li tout en conservant une hiérarchie correcte ... ché pas si je suis clair là)


Merci d'avance pour vos éventuelles réponses,


Kohntark -

samedi 30 janvier 2010 à 21:26:30 | Re : Algo "modified preorder tree traversal"

syndrael

Tu vas rire mais un jour on m'a posé la question et j'ai répondu de passer par DOM XML, tu peux parcourir, ajouter et supprimer sans souci. Comme un structure ul/ol etc.. peut s'apparenter à un XML.
Ca ne peut pas te convenir ??
S.
dimanche 31 janvier 2010 à 02:17:02 | Re : Algo "modified preorder tree traversal"

neigedhiver

Rhô l'autré, hé j'hallucine, hé...

Je sais même pas ce que c'est cet algorithme (du coup, je vais me renseigner, pas envie d'être à la traîne...)

Euh sinon, je crois que c'est mon tour de faire le mail... 'tain, comment j'suis à la bourre !!

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
dimanche 31 janvier 2010 à 07:32:47 | Re : Algo "modified preorder tree traversal"

syndrael

Pour Neige, une bonne description est présente sur: [ Lien ]
Ma réponse pour DomXml c'était hélas parce qu'à l'époque je n'avais rien trouvé en terme de Class PHP donc nous avions opté pour cette alternative.
S.
dimanche 31 janvier 2010 à 07:35:40 | Re : Algo "modified preorder tree traversal"

syndrael

En cherchant une page d'explication pour Neige, je suis tombé la dessus: Tapez le texte de l'url ici.
Ca peut être une piste sympa.
S.
lundi 1 février 2010 à 18:05:09 | Re : Algo "modified preorder tree traversal"

kohntark

Membre Club
Merci pour vos réponses.

@Syndrael :

Ca ne peut pas te convenir ??


J'y avais pensé, mais je préfère rester sur des données en DB.
A vrai dire ce n'est pas vraiment nécessaire (la DB) pour l'utilisation que je vais en faire dans un premier temps (une cinquantaine d'enregistrements hiérarchisés tout au plus) mais j'aurai tout de même à passer des requêtes et j'ai peur que ce soit plus complexe (et moins rapide) avec XML ... menfin je connais très mal.

J'ai jeter un oeil à ton lien, malheureusement, comme beaucoup de classes que j'ai pu trouver c'est du PHP4 et surtout elle utilise d'autres composants d'un framework (j'pourrai adapter, mais bon, j'ai peur de me perdre), ... je garde sous le coude.

Je pense avoir trouvé un truc qui pourrait répondre à mes attentes :
[ Lien ]

Je viens de faire 2/3 tests rapides, il semblerait que ça tienne la route, malgré un pb au niveau de l'ajout de noeuds ayant le même nom (pas creusé)

@Neige :

Je sais même pas ce que c'est cet algorithme (du coup, je vais me renseigner, pas envie d'être à la traîne...)


Le jour où tu seras à la traine sur moi c'est que tu auras abandonné la programmation depuis 10 ans !!
J'aime bien cet algo, ça m'a l'air très efficace et très rapide, mais à mon niveau je trouve ça lourd à mettre en place avec des données très dynamiques; il est très simple de casser l'arbre et c'est une véritable galère (au point où j'en suis) à remettre d'aplomb.

Pour le mail il n'y a aucune obligation et aucun délai


Je vais explorer et adapter si besoin cette classe.
Concernant le filtrage que j'évoquais dans mon premier post je sèche; je ne vois pas comment il pourrait être possible d'effectuer ce filtrage à la base (cad dans la requête SQL) tout en conservant une hiérarchie correcte (et la génération ul/li), par exemple :

machin
-machin1
--machin10
---machin101
---machin101
----machin1010
----machin1011
---machin102
--machin11
-machin2
-...

Comment afficher l'arbre sans le machin101 et ses 2 enfants
J'avoue ne pas y avoir réfléchi plus que ça, mais un décalage des right / left dans la méthode d'affichage risque de poser problème.
Le mieux reste surement de retirer l'arbre complet et de filtrer ensuite ... toute idée reste la bienvenue

Bonne soirée à vous,


Kohntark -

lundi 1 février 2010 à 18:08:42 | Re : Algo "modified preorder tree traversal"

kohntark

Membre Club
le lien de la class :
[ Lien ]



Kohntark -

lundi 1 février 2010 à 18:12:17 | Re : Algo "modified preorder tree traversal"

neigedhiver

Plop,

Bon je me suis toujours pas renseigné... Mais ton histoire d'afficher l'arbre sans machin101 et ses enfants, la solution pourrait ressembler à un FilterIterator. Mais comme j'ai pas encore pris le temps de lire les liens qu'on m'a proposés... (depuis 3 jours, je suis sur The Shield, je devrais terminer la saison 3 ce soir, pis je passe à la saison 4, parce que faut pas trainer quoi).

Si je peux apporter quoi que ce soit d'inutile, faites le moi savoir, ce sera avec plaisir. ^^

--
Neige

Souvent la réponse à votre question se trouve dans la doc. Commencez par là ;)
lundi 1 février 2010 à 19:09:43 | Re : Algo "modified preorder tree traversal"

kohntark

Membre Club
Kesako "The Shield" ?? une connerie américaine ?? (sorry pour mon inculture télévisuelle, mais TV rime avec placard/poubelle chez moi ^^ <== sisi ça existe )

Le "pb" de filterIterator est qu'il demandera de retirer l'arbre complet de la base. Ce n'est vraiment pas un problème pour le peu de données que j'ai a traiter à l'instant T, mais j'aurai peut être besoin plus tard d'appliquer cet algo sur un nombre plus conséquent d'enregistrements (plusieurs milliers). Dans ce cas les performances risquent d'en prendre un coup, et passer par des méthodes du crû "getSubChild" auront le même effet (multiplication des requêtes)

Je réfléchis tout haut et je dis sans doute des conneries.
Pour tenter d'être plus clair :
Ce qui m'inquiète un peu c'est de pouvoir obtenir une partie de l'arbre :
virer un/plusieurs noeud, un/plusieurs sous noeud, un/plusieurs sous sous noeuds, etc ... tout en conservant la justesse de la profondeur.

Bon, je vais tester un peu avant de dire n'importe quoi, et je n'aurai vraisemblablement pas besoin de tout ça ^^

Merci pour ta dispo Neige, j'apprécie, et je ne manquerai pas d'en profiter, surtout concernant la SPL qui a souvent tendance à me prendre la tête ( super bien documentée)



Kohntark -

lundi 1 février 2010 à 19:18:04 | Re : Algo "modified preorder tree traversal"

syndrael

Je pense avoir trouvé un truc qui pourrait répondre à mes attentes :


Eh monsieur !! C'est le lien que j'avais mis !! Je demande le droit d'auteur.. de la trouvaille de 07h35 !!
Mais dans l'ensemble tu as pu arriver à ce que tu cherchais ??
S.

1 2 3

Cette discussion est classée dans : classe, algo, tree, modified, preorder


Répondre à ce message

Sujets en rapport avec ce message

création de fichier [ par TRASH52 ] TRASH52bon je cherche à créer un arborescence de fichier deja enregistrés dans deux fi probleme de classe en php [ par Elkaire ] Donc voila mon probleme!!dans une premiere page je rensegne les insances de mon objet. Une fois renseigné je peux réutiliser les instances cet objet d Parametre de ma classe connexion et connexion/deconnexion [ par sebos63 ] Bonjour, 1. J'ai une classe de connexion et je souhaiterais savoir où il est judicieux de spécifier les paramètres d'une connexion. (Dans mon construc template.inc [ par joedalton ] bonjourVoila, je possede un fichier template.inc qui me permet de définir ma classe template, mais le probleme c'est que ce fichier est valable pour l Inversion de matrice [ par VanSama ] Bonjours, pour les besoins d'analyse d'une image, je recherche un algorithme de d'inversion d'une matrice NxN.J'ai lue beaucoup de chose sur le site d algo emploi du temps [ par choufleur1 ] Salut a tous,je suis un nouveau inscrit sur le site et je recherche un algo ou du code (en java de preference) qui, connaissant les classes, les profs Quand on parle de Classe [ par Tomcube ] C'est une question très vaste,On parle de plus en plus de programmation objet. Qui dit programmation objet dit classe. D'ailleurs, c'est fou le nombre problème de classe [ par guixyz ] Hello! Voila je suis en train d'apprendre a me servir des classes en php. Et j'en ai fait une pour gérer mes formulaires Donc j'ai ma classe, une fcti Pb avec classe en php, Affichage [ par matou82 ] Je voudrais savoir comment surcharger l'affichage d' echo ou print pour une classePour avoir:$obj = new Maclass;echo $obj;Cela affiche : "Object" Je s Classe et panier [ par romalafrite ] http://www.phpcs.com/code.aspx?ID=12931Quelqu'un peut me dire comment récupérer le contenu du panier une fois que la sélection a été faite ?visit inte


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,934 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales