IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

hauteur arbre non binaire, ou placer le return


Sujet :

Algorithmes et structures de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut hauteur arbre non binaire, ou placer le return
    Bonjour,

    Dans le cadre d'un développement php, je dois trouver la hauteur d'un arbre non binaire.

    J'arrive à le parcourir et à trouver la hauteur de chaque noeuds et feuilles mais je ne sais pas où placer le return pour obtenir la hauteur de l'arbre total.

    Voici mon algo :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public function getTreeHeight($catId, $height) {
    		$arrayChild = $this->getChildArray($catId); //tableau contenu les enfants du noeud catId
    		echo 'noeud : '.$catId.'<br/>';
    		echo 'height : '.$height.'<br/><br/>';
     
    		if (count($arrayChild) != 0) {
    			foreach ($arrayChild as $c) {
    				$this->getTreeHeight($c->getId(), $height + 1);
    			}
    		}
    	}
    ce code me donne le résultat suivant par l'arbre ci-dessous (donc résultat correct) :

    arbre :



    résultat

    noeud : -1
    height : 0

    noeud : 3
    height : 1

    noeud : 1
    height : 2

    noeud : 4
    height : 3

    noeud : 5
    height : 4

    noeud : 2
    height : 3

    noeud : 6
    height : 4

    noeud : 7
    height : 4

    noeud : 8
    height : 5

    noeud : 9
    height : 3

    noeud : 11
    height : 4

    noeud : 10
    height : 3

    si vous avez une idée, je suis preneur.

    merci.

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Bon alors je ne maitrise pas du tout le PHP, donc la syntaxe est sans doute fausse, mais voila en gros l'idée:

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    public function getTreeHeight($catId, $height) {
    	$arrayChild = $this->getChildArray($catId); //tableau contenu les enfants du noeud catId
    	echo 'noeud : '.$catId.'<br/>';
    	echo 'height : '.$height.'<br/><br/>';
    	$max = $height;	
    	if (count($arrayChild) != 0) {
    		foreach ($arrayChild as $c) {
    			$h = $this->getTreeHeight($c->getId(), $height + 1);
    			if ($h>$max) $max = $h;
    		}
    	}
    	return $max;
    }
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci, c'était bien ca !!!

    le seul truc qui me manquait (après plusieurs essais) était $max = $height;, je faisant $max = 0...

    problème résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JTree]recherche dans un arbre (non binaire ?)
    Par biozaxx dans le forum Composants
    Réponses: 3
    Dernier message: 07/05/2013, 13h32
  2. Treeview : fermeture de l'arbre non désirée
    Par Jsh dans le forum ASP.NET
    Réponses: 3
    Dernier message: 22/10/2008, 16h53
  3. Codage arbre en binaire
    Par bikete dans le forum C
    Réponses: 4
    Dernier message: 15/06/2008, 21h28
  4. Fonction taille et hauteur arbre binaire de façon itérative
    Par kalthoum dans le forum Autres langages
    Réponses: 1
    Dernier message: 04/12/2006, 19h55
  5. arbre simple (non binaire)
    Par baert dans le forum C++
    Réponses: 4
    Dernier message: 04/10/2005, 16h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo