Bonjour,

J'ai un petit exercice que je n'arrive pas a résoudre. Je dois représenter des graphes afin de réaliser différents algorithmes de coloration.

Voici ma structure :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
type couleur = 
    | Vierge
    | Couleur of int;;
 
type sommet = 
    {id : int;
     mutable couleur : couleur;
     mutable voisins : sommet list};;
 
type graphe = sommet list;;
Je souhaiterais construire une liste des sommets de mon graphe par dégré décroissant.

Pour cela j'ai la méthode suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
let rec listeSommet l = match l with 
|[] -> [] 
|[t::q] -> (t.id,degre_sommet t)::(listeSommet q);;
La fonction "degre_sommet" fonctionne et retourne bien le degré du sommet.


Mon probleme est que ma fonction listeSommet ne fonctionne pas et me retourne : "This expression has type sommet list but is here used with type
sommet list list
"


En espérant trouver un peu d'aide,

Clément.