misterx
30-10-2017, 18:19
ciao,
non è per un compito in classe ma una verifica per un mio programma; sto decidendo se adottare questa soluzione in luogo di una ricorsiva ma volevo capirne il costo algoritmico. Non so però se ho messo i costi in modo corretto, n sta per quante volte viene eseguita la riga di codice, 1 per una sola volta.
Mi chiedo se alla fine il costo è n^2
1: Struct *Nodo = PrimoNodoAlbero();
n: while(Nodo)
{
n: if(Nodo)
{
n: p = Nodo->Parent;
n: s = Nodo->Testo;
n: while(p)
n: {
n: s+= p->Testo;
n: p = p->Parent;
}
}
n: stampa(s);
n: Nodo = Nodo->ProssimoNodo();
n: s="";
}
non è per un compito in classe ma una verifica per un mio programma; sto decidendo se adottare questa soluzione in luogo di una ricorsiva ma volevo capirne il costo algoritmico. Non so però se ho messo i costi in modo corretto, n sta per quante volte viene eseguita la riga di codice, 1 per una sola volta.
Mi chiedo se alla fine il costo è n^2
1: Struct *Nodo = PrimoNodoAlbero();
n: while(Nodo)
{
n: if(Nodo)
{
n: p = Nodo->Parent;
n: s = Nodo->Testo;
n: while(p)
n: {
n: s+= p->Testo;
n: p = p->Parent;
}
}
n: stampa(s);
n: Nodo = Nodo->ProssimoNodo();
n: s="";
}