ho un albero con i nodi che sono fatti cosi:
dove list è:codice:struct node { char *name; list children; node_type type; list attributes; }; typedef struct node *node;
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).codice:struct NodoLista { void *value; struct NodoLista *next; }; typedef struct NodoLista *list;
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:
ma ora come potrei fare per trovare un nodo in un albero fatto come sopra? avete qualche suggerimento? graziecodice: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);

Rispondi quotando
