ho un albero con i nodi che sono fatti cosi:

codice:
struct node {
	char *name;
	list children;
	node_type type;
	list attributes;
};

typedef struct node *node;
dove list è:

codice:
struct NodoLista {
	void *value;
	struct NodoLista *next;
};

typedef struct NodoLista *list;
ora io devo cercare un elemento (un nodo) dentro a un albero n-ario. i nodi dell'albero n-ario possono avere una lista figli, come si vede da sopra (nel campo children).

io ho gia fatto delle funzioni di ricerca su alberi n-ari ma avevo glialberi classici con i nodi che avevano semplicemente un puntatore al figlio e uno al fratello. e la ricerca sarebbe stata semplicemente:

codice:
int find(tree t, int k)
   if (t == NULL) return 0;
   else if (t->info == k) return 1;
   else if (k < t->info) return find(t->son,k);
   else return find(t->brother,k);
ma ora come potrei fare per trovare un nodo in un albero fatto come sopra? avete qualche suggerimento? grazie