Pagini recente » Diferente pentru problema/algoritm intre reviziile 53 si 54 | Diferente pentru utilizator/[email protected] intre reviziile 148 si 106 | Diferente pentru utilizator/[email protected] intre reviziile 20 si 148 | Diferente pentru utilizator/[email protected] intre reviziile 148 si 119 | Diferente pentru problema/algoritm intre reviziile 26 si 27
Nu exista diferente intre titluri.
Diferente intre continut:
Desi nu e student in anul 1 la FMI, Por Costel s-a apucat sa studieze Algoritmica Grafurilor. Astazi, el invata despre alogritmul Bellman-Ford, care calculeaza drumurile minime de la un nod sursa (in cazul de fata, nodul 1) la toate celelalte noduri intr-un graf cu costuri. Por Costel, folosindu-si cunostintele sale minimale de informatica a reusit sa scrie urmatorul cod in C++ ce reprezinta o variatie al algoritmului Bellman-Ford:
*_for (int i=1; i <= n; ++i)_
**_d[ i ] = infinit; // GUITZZZ!_
*_d[ 1 ] = 0;_
bool ok = 0;
while (ok == 0)
{
ok = 1;
for (int i=0; i<E.size(); ++i) // OINC!
if (d[ E[i].x ] + E[i].cost < d[ E[i].y ] )
{
ok = 0;
d[ E[i].y ] = d[ E[i].x ] + E[i].cost; //Imi place porumbul!
}
} </i>
_for (int i=1; i <= n; ++i)_
_d[ i ] = infinit; // GUITZZZ!_
_d[ 1 ] = 0;_
_bool ok = 0;_
_while (ok == 0)_
_{_
_ ok = 1;_
_ for (int i=0; i<E.size(); ++i) // OINC!_
_if (d[ E[i].x ] + E[i].cost < d[ E[i].y ] )_
_{_
_ ok = 0; _
_ d[ E[i].y ] = d[ E[i].x ] + E[i].cost; //Imi place porumbul! _
_}_
_} _
Observam mai multe deficiente in codul de mai sus. Pe langa documentatia rudimentara, mai avem faptul ca Por Costel isi retine graful printr-un vector de muchii (vectorul E). Dar cel mai rau probabil este faptul ca algoritmul este LENT !
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.