merovingi0
20-10-2008, 10:21
ciao ragazzi avrei una domanda da farvi:
Scrivete il predicato tree_search(Key, Tree, Value) che verifiche la presenza di un nodo in un albero binario di ricerca, Questo predicato, data una chiave Key ed un albero binario di ricerca Tree, deve essere vero se esiste un nodo dell'albero con la chiave uguale a Key e valore uguale a Value.
io come caso base ho messo:
tree_search(Key,node(void,void),V).
e come passo ricorsivo:
tree_search(Key,node(K,_,L,_),V):-tree_search(K,node(Kl,_,Ll,_)V).
tree_search(Key,node(K,_,_,R),V):-tree_search(K,node(Kr,_,_,Rr),V).
si partiva dal caso base che era cosi:
tree_search(Key,???,V).
e quello ricorsivo:
tree_search(Key,node(K,_,L,_),V):- ????? .
tree_search(Key,node(K,_,_,R),V):- ????? .
il mio passo ricorsivo è sbagliato xke non mi viene ....pero la mia domanda era:
all'interprete quando gli pongo la domanda di cercare il nodo cosa devo scrive??
tree_search(8, ,'h').
non riesco a capire cosa devo chidergli? io ho pensato 8 come chiave, 'h' come value e in mezzo? devo mettere 'node()'?
grazie se qualcuno riesce a darmi una mano...
Scrivete il predicato tree_search(Key, Tree, Value) che verifiche la presenza di un nodo in un albero binario di ricerca, Questo predicato, data una chiave Key ed un albero binario di ricerca Tree, deve essere vero se esiste un nodo dell'albero con la chiave uguale a Key e valore uguale a Value.
io come caso base ho messo:
tree_search(Key,node(void,void),V).
e come passo ricorsivo:
tree_search(Key,node(K,_,L,_),V):-tree_search(K,node(Kl,_,Ll,_)V).
tree_search(Key,node(K,_,_,R),V):-tree_search(K,node(Kr,_,_,Rr),V).
si partiva dal caso base che era cosi:
tree_search(Key,???,V).
e quello ricorsivo:
tree_search(Key,node(K,_,L,_),V):- ????? .
tree_search(Key,node(K,_,_,R),V):- ????? .
il mio passo ricorsivo è sbagliato xke non mi viene ....pero la mia domanda era:
all'interprete quando gli pongo la domanda di cercare il nodo cosa devo scrive??
tree_search(8, ,'h').
non riesco a capire cosa devo chidergli? io ho pensato 8 come chiave, 'h' come value e in mezzo? devo mettere 'node()'?
grazie se qualcuno riesce a darmi una mano...