Witam,
mam problem z reprezentacją grafu w postaci macierzy i listy. Generalnie jeśli chodzi o macierz to wydaje mi się, że trzeba zdefiniować dwuwymiarową tablicę i w poszczególnych komórkach przechowywać wagi krawędzi. Dla uproszczenia przyjmuję, że graf jest nieskierowany z wagami większymi od zera. Jeśli np. jakieś wierzchołki nie mają łączącej krawędzi to można wpisać jako wagę -1. Jeśli chodzi o listę to jeszcze się tym nie zająłem. Prowadzący wymaga, żeby utworzyć klasę "Graf" i w programie ma zostać użyty polimorfizm. Problem w tym, że nie wiem, które klasy powinny się dziedziczyć. Czy lepiej jeśli klasa Graf będzie dziedziczyć z klasy Macierz i Lista, czy raczej nie jest to dobry pomysł??
Kolejny problem to implementacja algorytmu Kruskala na minimalne drzewo rozpinające. Jeśli przechowujemy wagi w tablicy dwuwymiarowej to jak ją posortować np. algorytmem Qsort. Bo oprócz posortowania wartości potrzebne będą wierzchołki do których krawędź należy.
Z góry dzięki za odpowiedź