CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Arbre

Player70
Player70
Niveau 14
27 novembre 2013 à 21:25:28

Bonsoir,

La structure de base est la suivante:

struct Noeud
{
int valeur;
Noeud* fils_droit;
Noeud* fils_gauche;
};
Noeud* arbre = NULL;

mais je comprends pas pourquoi il y a des pointeurs sur fils_droit/gauche et pourquoi arbre = NULL
Si quelqu'un peut me renseigner ce serait sympa :-)

guyver2
guyver2
Niveau 10
27 novembre 2013 à 21:55:42

un arbre binaire c'est une structure recursive. chaque noeud peut donner (ou non) naissance a deux (ou un) autres arbres plus petits.

Apparement t'as pas suivi le cours associe, parce que c'est vraiment l'idee de base. http://fr.wikipedia.org/wiki/Arbre_binaire

fils droit est donc le sous-arbre de droite et fils gauche le sous-arbre de gauche, ces deux elements sont donc des pointeurs vers d'autres arbres.

arbre = NULL c'est simplement une initialisation, au debut ton arbre est vide, donc tu as uniquement un pointeur vide.

Player70
Player70
Niveau 14
27 novembre 2013 à 22:39:41

http://carl.seleborg.free.fr/cpp/cours/chap2/arbres.html
Par exemple je comprends pas ce que fait l'auteur à partir du void Placer()

Player70
Player70
Niveau 14
27 novembre 2013 à 23:11:49

Oui je connais la définition, mais je comprends toujours pas ce qu'il fait à partir du 1er void, de plus il met des return dans ces void normalement quand on utilise un void c'est justement car il n'y a pas de return non ?
Il ne fait pas de référence donc comment il peut modifier son arbre s'il l'initial à NULL

Player70
Player70
Niveau 14
27 novembre 2013 à 23:22:30

Enfaite je m'exprime mal, je comprends ce qu'il fait, ces fonctions, ce quelles donnent mais pas tout les détails qui les constituent

Silvermo
Silvermo
Niveau 26
27 novembre 2013 à 23:53:05

il ne modifie pas un arbre NULL mais il remplace l'absence de référence par une référence à un noeud (un noeud n'étant jamais qu'un arbre)
:

arbre = noeud;

le return est autorisé, ça provoque simplement le retour de la fonction sans autre condition. Comme tu l'as remarqué c'est un return suivi de rien, car la fonction est typée void, càd rien (ou façon de parler... void ne vaut pas vraiment rien)

Silvermo
Silvermo
Niveau 26
27 novembre 2013 à 23:53:45

noeud lui n'étant pas NULL, ceci :
arbre = noeud; revient donc à faire pointer arbre vers noeud.

Player70
Player70
Niveau 14
28 novembre 2013 à 13:30:01

Si par exemple l'utilisateur rentre: *,2,exp,+,7,x

*

/ \

2 exp < --Mon arbre doit donner ça en gros

|

+
/ \

7 x

Je fais comment ?

Player70
Player70
Niveau 14
28 novembre 2013 à 13:32:05

----------*

--------/ \

-------2 exp < --Mon arbre doit donner ça en gros

-------------|

-------------+
-----------/ \

---------7 x

Player70
Player70
Niveau 14
28 novembre 2013 à 22:00:52

Help svp :up:

Player70
Player70
Niveau 14
01 décembre 2013 à 20:05:35

Toujours personne? :snif:

Silvermo
Silvermo
Niveau 26
01 décembre 2013 à 20:15:58

Tu veux mettre la charrue avant les boeufs, dur de t'aider :/ (tu comprends pas les principes du langage j'ai l'impression et que tu veux déjà générer correctement un arbre syntaxique abstrait)

vive_cod4
vive_cod4
Niveau 9
01 décembre 2013 à 21:42:12

Le principe à utiliser est le parcours préfixe, il fonctionne comme suit :

OPERATEUR OPERANDE OPERANDE

Dans ton cas, tu rentres *,2,exp,+,7,x, ce qui donne

  • OPERATEUR

....2 OPERANDE
....exp OPERATEUR (exception, exp n'a qu'une OPERANDE)
........+ OPERATEUR
............7 OPERANDE
............x OPERANDE

D'ailleurs, si tu parcours dans arbre final de cette façon, ça te redonnera ton entrée.

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment