Définir un arbre caml

Discutez d'informatique ici !
Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

Définir un arbre caml

par Rockleader » 20 Juin 2015, 15:31

Salutation, juste une petite question vis à vis de cet intitulé


Définir le type arbreBinaire comme une structure de donnée générique d'arbre binaire étant, soit vide, soit un noeud avec deux sous arbres et une information.



Question 1: Par rapport à cet intitulé je n'arrive pas à savoir si on a un arbre définit selon 3 champs...vide, noeud , information
OU
l'arbre définir par deux champs vide,noeud avec le noeud possédant l'information.


soit un noeud avec deux sous arbres et une information


Je trouve cette formulation assez obscure pour le coup, cela dit si on se base sur le soit, j'en déduirais que l'arbre est soit vide soit un noeud



Je serais donc tenté d'écrire

Code: Tout sélectionner
type arbreBinaire = Vide
         |Noeud of arbreBinaire*arbreBinaire*'a;;



Sauf que j'obtiens l'erreur Unbound type parameter 'a

Il semblerait que je ne puisse pas représenter l'information par 'a et l'intitulé ne dit pas ce que représente l'information ...du coup je vois pas du tout comment faire ça...

Une idée ?
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !



Monsieur23
Habitué(e)
Messages: 3966
Enregistré le: 01 Oct 2006, 17:24

par Monsieur23 » 21 Juin 2015, 00:16

Aloha,

Je comprends l'énoncé comme toi (2 constructeurs).
Rockleader a écrit:
Code: Tout sélectionner
type arbreBinaire = Vide
         |Noeud of arbreBinaire*arbreBinaire*'a;;




Essaye
Code: Tout sélectionner
type 'a arbreBinaire = Vide
         |Noeud of arbreBinaire*arbreBinaire*'a;;
« Je ne suis pas un numéro, je suis un homme libre ! »

archimaide
Membre Naturel
Messages: 11
Enregistré le: 21 Juin 2015, 05:39

par archimaide » 21 Juin 2015, 06:44

Bonjour à Tous, quelqu'un pourrait me dire (svp) comment obtient-on les nombres
16, 19, 22, 35, 37, à partir de 117 diviser par 9, svp je galère grave, a quoi correspondent ils et comment les obtient on?

117 / 9 = 13
/ 9 = 1.4444444444
/ 9 = 0.1604938272
/ 9 = 0.0178326475
/ 9 = 0.0019814053
/ 9 = 0.0002201561
/ 9 = 0.0000244618
/ 9 = 0.000002718
/ 9 = 0.000000302
/ 9 = 0.0000000336
/ 9 = 0.0000000037
/ 9 = 0.0000000004
/ 9 = 0.0000000001

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

par Rockleader » 21 Juin 2015, 09:30

Monsieur23 a écrit:Aloha,

Je comprends l'énoncé comme toi (2 constructeurs).



Essaye
Code: Tout sélectionner
type 'a arbreBinaire = Vide
         |Noeud of arbreBinaire*arbreBinaire*'a;;


Salut, merci pour ta réponse.


Avec ta solution, j'obtiens l'erreur suivante:

Error: The type constructor arbreBinaire expects 1 argument(s),
but is here applied to 0 argument(s)


Cela me semble aussi un peu bizarre de définir 'a arbreBinaire si l'on me dit de définir seulement arbreBinaire.
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Monsieur23
Habitué(e)
Messages: 3966
Enregistré le: 01 Oct 2006, 17:24

par Monsieur23 » 21 Juin 2015, 10:17

Ah pardon, j'ai oublié…

Code: Tout sélectionner
type 'a arbreBinaire = Vide
         |Noeud of ('a arbreBinaire)*('a arbreBinaire)*'a;;


Pour moi, tu es obligé de définir 'a arbreBinaire, il faut que tu types ton "information"
« Je ne suis pas un numéro, je suis un homme libre ! »

Avatar de l’utilisateur
Rockleader
Habitué(e)
Messages: 2126
Enregistré le: 11 Oct 2011, 18:42

par Rockleader » 21 Juin 2015, 10:33

Monsieur23 a écrit:Ah pardon, j'ai oublié…

Code: Tout sélectionner
type 'a arbreBinaire = Vide
         |Noeud of ('a arbreBinaire)*('a arbreBinaire)*'a;;


Pour moi, tu es obligé de définir 'a arbreBinaire, il faut que tu types ton "information"


Ah super merci, bon je ne sais pas si c'est la solution qu'il fallait adopter mais je vais essayer d'avoir confirmation.


Sa veut donc dire que là je pourrais faire un arbre avec n'importe quel type d'information.
Cette histoire est entièrement vraie puisque je l'ai inventé du début à la fin !

Monsieur23
Habitué(e)
Messages: 3966
Enregistré le: 01 Oct 2006, 17:24

par Monsieur23 » 21 Juin 2015, 11:23

Ouais, si tu veux déclarer un arbre d'entiers par exemple, tu utiliseras un int arbreBinaire
« Je ne suis pas un numéro, je suis un homme libre ! »

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite