View Full Version : [c] creazione di un albero
Prince_81
30-09-2008, 15:31
Ciao ragazzi, ho un problema con la creazione di un albeo mediante struct, non so da dove iniziare ma vi invio un immagine di come dovrebbe essere strutturato magari potete aiutarmi. Grazie
goldorak
30-09-2008, 15:37
E un semplice albero binario nella rappresentazione left child-right sibling.
In pratica ogni nodo N ha due puntatori, il primo chiamalo Sibling punta al fratello del nodo N, il secondo puntatore chiamalo Child punta al primo figlio del nodo N.
IceCoder
30-09-2008, 15:41
Penso tu voglia qualcosa del tipo
struct O
{
//dati
}
struct R
{
//dati
};
struct E
{
//dati
};
struct B
{
struct O *o;
};
struct L
{
struct E *e;
struct R *r;
};
struct A
{
struct L *l;
struct B *b;
};
qualcosa del genere, giusto?
Prince_81
01-10-2008, 08:20
bisogna utilizzare tutte queste struct?
il mio esercizio mi consiglia:
INPUT i nodi,ordinati per livello,ed il relativo grado
OUTPUT array di struct contenente il campo informazione di un nodo e il suo grado.
Prince_81
01-10-2008, 08:22
un altro consiglio che mi da è:
l'array deve contenere l'informazione, il suo grado ed un array di puntatori di dimensione pari al massimo grado dei nodi
IceCoder
01-10-2008, 08:55
Oddio pensavo ti servisse un aiuto pratico..aborro questi problemi universitari, scusate ma questa volta passo..mi fanno uscire pazzo e li sbaglio sempre...ho sempre avuto da litigare con i professori di informatica :/
riguardo al problema, mi sa che volendo puntatori al massimo grado dei nodi, dovresti creare dei puntatori non dinamici e quindi non "struct *" ma tipo "struct A[65536]"..però come ho accennato prima..queste cose le sbaglio sempre... :/
banryu79
01-10-2008, 09:00
Non è vero che non servono a nulla... hanno scopo didattico :O
IceCoder
01-10-2008, 09:12
Non è vero che non servono a nulla... hanno scopo didattico :O
ho un amico che fa di questi problemini dal 4 superiore..ora fa l'università (secondo anno) e fa ancora di questi problemini, io ho iniziato a creare software, ora sto iniziando l'università ed ho gia un lavoro come programmatore: quindi sviluppo e vendo software..senza aver mai fatto queste cose.
Ora, non voglio farne un problema di stato...ma non ditemi che servono a qualcosa...io le cose "a scopo didattico" le ho sempre viste male al contrario del resto del mondo..e ammetto che penso di sbagliarmi visto che siamo tutti contro uno. Però se io cosi come un altro mio amico siamo arrivati dove siamo senza bisogno di fare di queste cose..evidentemente sono fatte giusto per far pensare che la programmazione sia una cosa complicata...
poi non so, ditemi voi laureati se vi sono mai serviti a qualcosa..
banryu79
01-10-2008, 09:20
ho un amico che fa di questi problemini...
[...cut...]
poi non so, ditemi voi laureati se vi sono mai serviti a qualcosa...
a dire il vero anche io non sono laureato ne ho mai studiato programmazione in "modo canonico", ma ho avuto il piacere di incontrarla direttamente nel mondo del lavoro (in parte da autodidatta, in parte con un corso pagato dalla mia azienda e in parte lavorando a fianco di programmatori "di mestiere").
quindi non è che, basandomi sull'esperienza avuta, sono portato a pensarla tanto diversamente da te, però credo anche che non sia il caso di commettere il solito errore dell'estremizzazione.
C'è chi estremizza in un senso, e chi estremizza in quello opposto.
L'esercizio che l'utente autore del thread sta facendo può anche avere valenza pari a zero da un punto di vista lavorativo; ma non si può dire che allora non serve a niente, nel contesto della programmazione in generale.
Tutto qui.
Buone cose per la tua attività (ma sei in proprio?)
:)
IceCoder
01-10-2008, 09:38
L'esercizio che l'utente autore del thread sta facendo può anche avere valenza pari a zero da un punto di vista lavorativo; ma non si può dire che allora non serve a niente, nel contesto della programmazione in generale.
Tutto qui.
Buone cose per la tua attività (ma sei in proprio?)
:)
No ci mancherebbe, alla fine è comunque qualcosa che si aggiunge al suo bagaglio culuturale, io intendevo "sul campo".
Faccio parte di un gruppo di programmatori della mia zona che stanno cercando di tirare su un'azienda.
Prince_81
01-10-2008, 14:24
da come ho capito per iniziare dovrei inserire in un array di struct le informazioni e il relativo padre del nodo;
indice info padre
0 E -1
1 A 0
2 E 0
3 R 0
4 A 1
secondo voi questa strada è buona?
Prince_81
02-10-2008, 13:07
sono riuscito a costruire un albero mediante l'algoritmo btree, cioè ogni nodo ha un puntatore destro e sinistro, ma adesso vorrei costruire un albero secondo lo schema che vi riporto in allegato.
sapreste dirmi il nome di un algoritmo che costruisce un albero in quel modo?
vBulletin® v3.6.4, Copyright ©2000-2026, Jelsoft Enterprises Ltd.