Questions / réponses

Question sur sujet examen 2018

Question sur sujet examen 2018

LachiverLoic -
回帖数:4

Bonjour,

Pour l'exercice 4 / question 2 de l'examen 2018, est-il réellement attendu de parcourir l'arbre en profondeur ou est-ce une erreur de l'énoncé ? ça paraît plus logique que ce soit en largeur

Merci d'avance pour votre réponse,

Cordialement.

回复LachiverLoic

Re: Question sur sujet examen 2018

DialloMamadou Saliou -

Je me pose la même question aussi. mais je crois que c'est largeur qui est attendu.

En plus comment inclure le module file? apparemment ocaml ne connais pas empty_queue

Cordialement.

回复DialloMamadou Saliou

Re: Question sur sujet examen 2018

ZeitounMarc -

Bonjour,

Vous avez raison tous les deux, il s'agit d'un parcours en largeur qui était attendu.

Je ne sais pas pourquoi mais le sujet qui était sous Moodle n'était pas la version définitive du sujet de l'an dernier, mais une version de travail (avec ses erreurs).

J'ai mis en ligne le bon fichier. Du coup, les autres exercices ont aussi été mis à jour.

Concernant les files, si vous voulez tester, vous pouvez utiliser le module Queue pour ne pas tout ré-écrire.

let empty_queue = Queue.create ()

let enqueue x q = let _ = Queue.add x q in q

let dequeue q = let x = Queue.take q in (x, q)

let queue_size q = Queue.length q

--mz

回复ZeitounMarc

Re: Question sur sujet examen 2018

RichardTony -

Bonjour,

Lorsque je fais les tests avec les fonctions que vous avez donné j’obtiens ceci:

int Queue.t = <abstr>

Comment rendre cette valeur de retour plus compréhensible ? Ou alors que signifie-t-elle ?

Cordialement.

回复RichardTony

Re: Question sur sujet examen 2018

ZeitounMarc -

Comme je l’ai indiqué en cours, il faut faire une fonction permettant de visualiser la file (par exemple, la convertir en liste, ou utiliser les fonctions du module Printf). 


Autre option, coder soi-même les opérations de base sur le type file. Si c’est juste pour vérifier et qu’on n’est pas intéressé par une complexité O(1) pour chaque opération de base, on peut simplement représenter une file par une liste OCaml, en insérant en tête et en supprimant en fin de liste (ce qui sera coûteux pour la suppression, mais permet de simuler les opérations enqueue et dequeue).