Aiuto progettino ocaml

fantom1
Salve,
qualcuno sa darmi una mano per il seguente progettino didattico :

" Dato un grafo ed un insieme di colori cioè di interi da 1 ad N assegnare un intero ad ogni vertice in modo che a vertici adiacenti siano assegnati colori diversi.
Si risolva il problema utilizzando un algoritmo di ricerca in ampiezza "

Sono riuscito a scivere le seguenti righe di codice :


CALCOLO IL SUCCESSORE DI OGNI VERTICE

(* succ : 'a graph -> 'a -> 'a list *)
let succ (Gr arcs) node =
let rec aux = function
[] -> []
| (x,y)::rest -> if x = node then y::aux rest
else aux rest
in aux arcs;;


LA RICERCA IN AMPIEZZA

(* breadth_first_collect : 'a graph -> 'a -> 'a list *)
let breadth_first_collect graph start =
let rec search visited = function
[] -> visited
| n::rest -> if List.mem n visited
then search visited rest
else search (n::visited) (rest @ (succ graph n))
(* i nuovi nodi sono inseriti in coda *)
in search [] [start];;


LA LUNGHEZZA DEL GRAFO

(* length : 'a list -> int *)
let rec length = function
[] -> 0
| x::rest -> 1 + length rest;;



QUALCUNO SA AIUTARMI A COMPLETARLO ???

SPERO IN UN VOSTRO AIUTO

Risposte
Sax031
Ciao, per caso hai piu risolto questo progettino?

Super Squirrel

Sax031
lo so ma non si sa mai eheh

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.