Gráfalgoritmus! Izolált pont meghatározása egy irányított gráfban?
Adott egy irányított gráf, amelyet egy mátrixszal ábrázolunk. Határozzuk meg, hogy van-e a gráfnak izolált pontja, és ha igen, akkor mennyi?
A válaszokat köszönöm! :)
Igen, azt kell megoldani.
A tanárnőnk mondta, hogy ezt próbáljuk meg algoritmusban leírni.
Pl N darab csúcs esetén ilyen lehetne:
int graf_matrix[N][N];
std::vector<int> csucsok(N,1);
for(int i = 0; i < N; i++)
for(int j = 0; j < N; j++)
if(matrix[i][j] != 0) {
csucsok[i] = 0;
csucsok[j] = 0;}
Így most a vektor azon elemei lesznek izolált csúcsok (indexek azonosítják), ahol 1-es van. (N^2 futásidő) Tehát most még kell egy szűrés.
std::vector<int> izolalt_csucsok;
for(int i = 0; i < N; i++)
if(csucsok[i] != 0) izolalt_csucsok.push_back(i);
És így már az "izolalt_csucsok" vektor tartalmazza a megfelelő csúcsokat.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!