2. Se va realiza un applet, care permite utilizatorului să traseze un graf neorientat ponderat, după care va construi pas cu pas arborele de acoperire de cost minim aplicând algoritmul lui Kruskal.
3. Se va realiza un applet, care permite utilizatorului să traseze un graf neorientat ponderat, după care va construi pas cu pas arborele de acoperire de cost minim prin algoritmul lui Prim.
4. Se va realiza un applet, care permite utilizatorului să traseze un graf neorientat ponderat, dupa care aplică pas cu pas algoritmul lui Dijkstra pentru determinarea celor mai scurte căi de la un nod dat, la celelalte noduri ale grafului.
5. Se va realiza un applet, care permite utilizatorului să traseze un graf orientat ponderat, după care aplică pas cu pas algoritmul de determinare a celei mai scurte căi între două vârfuri date, prin metoda programării dinamice.
6. Considerăm problema rucsacului în varianta discretă: se dă o mulțime de obiecte A={a0, a1, a2, ..., an-1}, pentru fiecare obiect fiind indicate greutatea și costul. Se cere să se pună într-un rucsac un număr oarecare (neprecizat, dar întreg) dintre aceste obiecte, astfel încât să fie satisfăcute următoarele două condiții: (a) să nu se depășească greutatea maximă permisă a rucsacului și (b) costul total al obiectelor puse în rucsac să fie maxim. Nu se permite ca un obiect să fie divizat. Se va realiza o aplicație Java, în care această problemă se rezolvă pe două căi: (1) aplicând un algoritm de tip Greedy și (2) prin metoda forței brute (încercând toate combinațiile posibile și alegând-o pe cea optimă). Se vor compara rezultatele obținute prin cele două metode, pentru diferite mulțimi de obiecte date și diferite greutăți ale rucsacului. Comparați și complexitățile celor doi algoritmi.