Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (κόμβων) (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (κόμβων) (vertex set) Σύνολο ακμών (edge set) Μερικά είδη γραφημάτων: Κατεύθυνση ακμών μη κατευθυνόμενα κατευθυνόμενα Βάρος ακμών μη σταθμισμένα σταθμισμένα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA
Αναπαράσταση Γραφήματος Μήτρα γειτνίασης (adjacency matrix): Χρησιμοποιούμε έναν πίνακα Α, όπου 1 2 Χώρος: bits 3 4 5 συμμετρικός πίνακας Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA
Αναπαράσταση Γραφήματος Μήτρα γειτνίασης (adjacency matrix): Χρησιμοποιούμε έναν πίνακα Α, όπου 1 2 Χώρος: bits 3 4 5 Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA
Αναπαράσταση Γραφήματος Λίστες γειτνίασης (adjacency lists): Χρησιμοποιούμε έναν πίνακα Α, όπου είναι δείκτης σε λίστα των κόμβων που γειτονεύουν με τον κόμβο i 1 2 1 2 3 4 Χώρος: λέξεις 2 1 3 5 3 3 1 2 4 4 1 3 5 4 5 5 2 4 Κάθε ακμή εμφανίζεται 2 φορές Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA
Αναπαράσταση Γραφήματος Λίστες γειτνίασης (adjacency lists): Χρησιμοποιούμε έναν πίνακα Α, όπου είναι δείκτης σε λίστα των κόμβων που γειτονεύουν με τον κόμβο i 1 2 1 2 Χώρος: λέξεις 2 3 5 3 3 1 4 1 3 4 5 5 4 Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA
Αναπαράσταση Γραφήματος Λίστες γειτνίασης (adjacency lists): typedef struct node *link; struct node { int v; link next; } link NEW(int v, link next) { link x = malloc(sizeof *x); x-v = v; x->next = next; return x; } main() { int i,j; link adj[N]; for (i = 0; i < N; i++) adj[i] = NULL; while (scanf(“%d %d\n”, &i, &j) == 2) adj[i] = NEW(j, adj[i]); } Διαβάζει κατευθυνόμενο γράφημα
Διερεύνηση γραφήματος
Οριζόντια διερεύνηση γραφήματος
Οριζόντια διερεύνηση γραφήματος b c d b a c c d f e h c g h f
Οριζόντια διερεύνηση γραφήματος b c d b a c c d f e h c g h f Η αναζήτηση θα ξεκινήσει από τον κόμβο . Χρησιμοποιούμε μία FIFO ουρά Q για να κρατάμε τη σειρά επίσκεψης των κόμβων.
Οριζόντια διερεύνηση γραφήματος b c d b a c c d f e h c g h f Ουρά Q : Αρχικά κενή
Οριζόντια διερεύνηση γραφήματος b c d b a c c d f e h c g h f τοποθέτηση(Q,a) : τοποθετεί το a στο τέλος της ουράς Ουρά Q
Οριζόντια διερεύνηση γραφήματος 1 b c d b a c c d f e h c g h f τοποθέτηση(Q,a) : τοποθετεί το a στο τέλος της ουράς Ουρά Q
Οριζόντια διερεύνηση γραφήματος 1 b c d b a c c d f e h c g h f λήψη(Q) : επιστρέφει το πρώτο στοιχείο της Q που θα επεξεργαστούμε Ουρά Q
Οριζόντια διερεύνηση γραφήματος 1 b c d b a c c d f e h c g h f Ουρά Q
Οριζόντια διερεύνηση γραφήματος 1 b c d b 2 a c c d f e h c g h f τοποθέτηση(Q,b) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f e h c g h f τοποθέτηση(Q,c) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f e h c g h f λήψη(Q) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f τοποθέτηση(Q,d) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f o κόμβος b είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f o κόμβος a είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f o κόμβος c είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 b c d b 2 a c c d f 4 e h c g h f η Q είναι άδεια : βρίσκουμε τον επόμενο κόμβο που δεν έχουμε επισκεφτεί Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 a c c d f 4 e h c g h f τοποθέτηση(Q,e) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 a c c d f 4 e h c g h f ο κόμβος c είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 a c c d f 4 e h c g h f ο κόμβος d είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 a c c d f 4 e h c g h f τοποθέτηση(Q,f) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 a c c d f 4 e h c g h f Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 a c c d f 4 e h c g h f o κόμβος e είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 6 a c c d f 4 e h c g h f τοποθέτηση(Q,h) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 7 a c c d f 4 e h c g h f Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 7 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 7 a c c d f 4 e h c g h f o κόμβος f είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 b c d b 2 6 7 a c c d f 4 e h c g h f η Q είναι άδεια : βρίσκουμε τον επόμενο κόμβο που δεν έχουμε επισκεφτεί Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 8 b c d b 2 6 7 a c c d f 4 e h c g h f τοποθέτηση(Q,g) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 8 b c d b 2 6 7 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 8 b c d b 2 6 7 a c c d f 4 e h c g h f ο κόμβος c είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 8 b c d b 2 6 7 a c c d f 4 e h c g h f ο κόμβος g είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 8 b c d b 2 6 7 a c c d f 4 e h c g h f ο κόμβος h είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
Οριζόντια διερεύνηση γραφήματος 3 1 5 8 b c d b 2 6 7 a c c d f 4 e h c g h f η Q είναι άδεια και έχουμε επισκεφτεί όλους τους κόμβους : τέλος διερεύνησης.
Οριζόντια διερεύνηση γραφήματος 3 1 5 8 2 6 7 4 δάσος οριζόντιας διερεύνησης
Οριζόντια διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: 2 b c d 8 7 1 b a c c d f 4 5 3 e h 6 c g h f
Οριζόντια διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: 2 8 7 1 4 5 3 6 δάσος οριζόντιας διερεύνησης
Οριζόντια διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: 2 8 7 1 4 5 3 6 δάσος οριζόντιας διερεύνησης βρίσκει τις συντομότερες διαδρομές (ως προς το πλήθος των ακμών) από τον αφετηριακό κόμβο προς κάθε άλλο κομβο
Οριζόντια διερεύνηση γραφήματος Με αφετηρία το g (αν είχαμε και την ακμή ) : 2 8 5 1 4 6 3 7 δάσος οριζόντιας διερεύνησης e f βρίσκει τις συντομότερες διαδρομές (ως προς το πλήθος των ακμών) από τον αφετηριακό κόμβο προς κάθε άλλο κομβο
Οριζόντια διερεύνηση γραφήματος Γίνεται με όμοιο τρόπο σε μη κατευθυνόμενο γράφημα: π.χ. με αφετηρία το g λαμβάνουμε: 4 2 7 1 5 6 8 3 βρίσκει τις συντομότερες διαδρομές (ως προς το πλήθος των ακμών) από τον αφετηριακό κόμβο προς κάθε άλλο κομβο
Οριζόντια διερεύνηση γραφήματος typedef struct node *link; struct node { int v; link next; } ... void BFS(int k) { link t; QUEUEinit(V); QUEUEput(k); while (!QUEUEempty()) k = QUEUEget(); if (!visited[k]) visited[k] = 1; for (t = adj[k]; t != NULL; t = t->next) if (!visited[t->v]) QUEUEput(t->v); }
Καθοδική διερεύνηση γραφήματος
Καθοδική διερεύνηση γραφήματος b c d b a c c d f e h c g h f
Καθοδική διερεύνηση γραφήματος b c d b a c c d f e h c g h f Η αναζήτηση θα ξεκινήσει από τον κόμβο . Χρησιμοποιούμε μία στοίβα S για να κρατάμε τη σειρά επίσκεψης των κόμβων.
Καθοδική διερεύνηση γραφήματος b c d b a c c d f e h c g h f Στοίβα S : Αρχικά κενή
Καθοδική διερεύνηση γραφήματος 1 b c d b a c c d f e h c g h f ώθηση(S,a) : τοποθετεί το a στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 1 b c d b a c c d f e h c g h f ώθηση(S,a) : τοποθετεί το a στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 1 b c d b a c c d f e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 1 b c d b a c c d f e h c g h f Στοίβα S
Καθοδική διερεύνηση γραφήματος 1 b c d b 2 a c c d f e h c g h f ώθηση(S,b) Στοίβα S
Καθοδική διερεύνηση γραφήματος 1 b c d b 2 a c c d f e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 1 b c d b 2 a c c d f 3 e h c g h f ώθηση(S,d) Στοίβα S
Καθοδική διερεύνηση γραφήματος 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 1 b c d b 2 a c c d f 3 e h c g h f o κόμβος a είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f ώθηση(S,c) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f o κόμβος b είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f o κόμβος c είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 b c d b 2 a c c d f 3 e h c g h f Η S είναι άδεια. Βρίσκουμε τον επόμενο κόμβο που δεν έχουμε επισκεφτεί Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 a c c d f 3 e h c g h f ώθηση(S,e) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 a c c d f 3 e h c g h f o κόμβος c είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 a c c d f 3 e h c g h f o κόμβος d είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 a c c d f 3 e h c g h f ώθηση(S,f) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 a c c d f 3 e h c g h f o κόμβος e είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f ώθηση(S,h) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f o κόμβος f είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f η S είναι άδεια: βρίσκουμε τον επόμενο κόμβο που δεν έχουμε επισκεφτεί Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 8 b c d b 2 6 7 a c c d f 3 e h c g h f ώθηση(S,g) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 8 b c d b 2 6 7 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 8 b c d b 2 6 7 a c c d f 3 e h c g h f o κόμβος c είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 8 b c d b 2 6 7 7 a c c d f 3 e h c g h f o κόμβος g είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 8 b c d b 2 6 7 a c c d f 3 e h c g h f o κόμβος h είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 8 b c d b 2 6 7 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
Καθοδική διερεύνηση γραφήματος 4 1 5 8 b c d b 2 6 7 a c c d f 3 e h c g h f η S είναι άδεια και έχουμε επισκεφτεί όλους τους κόμβους : τέλος διερεύνησης
Καθοδική διερεύνηση γραφήματος 4 1 5 8 2 6 7 3 δάσος καθοδικής διερεύνησης
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: 2 b c 5 8 1 d b a c 3 7 6 c d f e h 4 c g h f
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: 2 5 8 1 3 7 6 4 δάσος καθοδικής διερεύνησης
Καθοδική διερεύνηση γραφήματος Υλοποίηση με αναδρομή typedef struct node *link; struct node { int v; link next; } ... void DFS(int k) { link t; visit[k] = 1; for (t = adj[k]; t != NULL; t = t->next) if (!visited[t->v]) DFS(t->v); }
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: 2 5 δενδρική ακμή 8 1 3 7 6 4 δάσος καθοδικής διερεύνησης
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: 2 5 δενδρική ακμή 8 1 3 7 6 εγκάρσια ακμή 4 δάσος καθοδικής διερεύνησης
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: ανιούσα ακμή 2 5 δενδρική ακμή 8 1 3 7 6 εγκάρσια ακμή 4 δάσος καθοδικής διερεύνησης
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g (αν είχαμε και την ακμή ) : ανιούσα ακμή 2 7 5 δενδρική ακμή 1 3 8 6 κατιούσα ακμή εγκάρσια ακμή 4 e f δάσος καθοδικής διερεύνησης
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g (αν είχαμε και την ακμή ) : ανιούσα ακμή 2 7 5 δενδρική ακμή 1 3 8 6 κατιούσα ακμή εγκάρσια ακμή 4 e f δάσος καθοδικής διερεύνησης Σε μη κατευθυνόμενο γράφημα έχουμε μόνο δενδρικές και ανιούσες ακμές
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g (αν είχαμε και την ακμή ) : 3 2 7 1 4 5 8 6 δάσος καθοδικής διερεύνησης Σε μη κατευθυνόμενο γράφημα έχουμε μόνο δενδρικές και ανιούσες ακμές
Καθοδική διερεύνηση γραφήματος Για να λάβουμε περισσότερες πληροφορίες για τη δομή του γραφήματος διατηρούμε ένα μετρητή «χρόνου». Ο μετρητής αυξάνει κατά μία μονάδα όταν: - επισκεπτόμαστε ένα νέο κόμβο χρόνος εντοπισμού του κόμβου - ολοκληρώνουμε την εξέταση του καταλόγου γειτνίασης ενός κόμβου χρόνος περάτωσης του κόμβου
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: [5,6] [2,9] [12,13] [1,16] [3,8] [4,7] [11,14] [10,15] δάσος καθοδικής διερεύνησης
Καθοδική διερεύνηση γραφήματος Με αφετηρία το g λαμβάνουμε: 1 16 [1,16] 2 9 [2,9] [10,15] 10 15 3 8 11 14 [3,8] [11,14] 4 7 [4,7] [12,13] 12 13 [5,6] 5 6 δάσος καθοδικής διερεύνησης
Καθοδική διερεύνηση γραφήματος Για οποιουσδήποτε κόμβους και δάσος καθοδικής διερεύνησης ισχύει ένα από τα παρακάτω : 1 16 α) 2 9 10 15 ο είναι απόγονος του στο δάσος 3 8 11 14 β) 4 7 ο είναι απόγονος του στο δάσος 12 13 γ) 5 6 ο δεν είναι απόγονος του στο δάσος, και ο δεν είναι απόγονος του στο δάσος
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Ένας εναλλακτικός τρόπος είναι να εκτελέσουμε καθοδική διερεύνηση … TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [2,] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [2,] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [2,] [4,] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [2,] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [2,] [6,] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [7,] [2,] [6,] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [7,8] [2,] [6,] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [7,8] [2,] [6,9] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,10] [7,8] [2,] [6,9] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,10] [7,8] [2,11] [6,9] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,12] [3,10] [7,8] [2,11] [6,9] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,12] [3,10] [7,8] [2,11] [6,9] [4,5] Διατάσουμε τους κόμβους κατά φθίνουσα σειρά του χρόνου περάτωσης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,12] [3,10] [7,8] 12 11 10 [2,11] [6,9] [4,5] 5 9 Διατάσουμε τους κόμβους κατά φθίνουσα σειρά του χρόνου περάτωσης 8 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
Συνδετικότητα γραφήματος (graph connectivity)
Συνδετικότητα γραφήματος (graph connectivity) Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός προγράμματος τρανζίστορ σε ηλεκτρονικό κύκλωμα β
Συνδετικότητα γραφήματος (graph connectivity) Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός προγράμματος τρανζίστορ σε ηλεκτρονικό κύκλωμα β
Συνδετικότητα γραφήματος (graph connectivity) Μη κατευθυνόμενα γραφήματα Συνδεδεμένη συνιστώσα γραφήματος Μείζον σύνολο κόμβων τέτοιο ώστε για κάθε δύο κόμβους υπάρχει μονοπάτι που συνδέει το και το συνδεδεμένες συνιστώσες : Μπορούν να υπολογιστούν εύκολα σε χρόνο (πώς;)
Συνδετικότητα γραφήματος (graph connectivity) Kατευθυνόμενα γραφήματα Ισχυρά συνδεδεμένη συνιστώσα κατευθυνόμενου γραφήματος Μείζον σύνολο κόμβων τέτοιο ώστε για κάθε δύο κόμβους υπάρχει μονοπάτι από το στο και από το στο ισχυρά συνδεδεμένες συνιστώσες :
Συνδετικότητα γραφήματος (graph connectivity) Kατευθυνόμενα γραφήματα Ισχυρά συνδεδεμένη συνιστώσα κατευθυνόμενου γραφήματος Μείζον σύνολο κόμβων τέτοιο ώστε για κάθε δύο κόμβους υπάρχει μονοπάτι από το στο και από το στο ισχυρά συνδεδεμένες συνιστώσες : γράφημα συνιστωσών
Συνδετικότητα γραφήματος (graph connectivity) κατευθυνόμενο γράφημα γράφημα συνιστωσών Στο γράφημα συνιστωσών : - κάθε αντιστοιχεί σε μία ισχυρά συνδεδεμένη συνιστώσα του - αν υπάρχει τέτοια ώστε και τότε Το γράφημα συνιστωσών είναι άκυκλο
Συνδετικότητα γραφήματος (graph connectivity) κατευθυνόμενο γράφημα γράφημα συνιστωσών Έστω μία τοπολογική διάταξη των κόμβων του Παρατήρηση : Αν ξεκινήσουμε μία διερεύνηση από κάποιο κόμβο τότε θα επισκεφτούμε μόνο τους κόμβους του Στη συνέχεια αν ξεκινήσουμε από κάποιο τότε θα επισκεφτούμε μόνο τους κόμβους του βρίσκουμε το Συνεχίζουμε με τον ίδιο τρόπο μέχρι να βρούμε όλες τις συνιστώσες…
Συνδετικότητα γραφήματος (graph connectivity) κατευθυνόμενο γράφημα γράφημα συνιστωσών Έστω μία τοπολογική διάταξη των κόμβων του Παρατήρηση : Αν ξεκινήσουμε μία διερεύνηση από κάποιο κόμβο τότε θα επισκεφτούμε μόνο τους κόμβους του Στη συνέχεια αν ξεκινήσουμε από κάποιο τότε θα επισκεφτούμε μόνο τους κόμβους του βρίσκουμε το Συνεχίζουμε με τον ίδιο τρόπο μέχρι να βρούμε όλες τις συνιστώσες… Επομένως, πρέπει να διερευνήσουμε το γράφημα επιλέγοντας κατάλληλα την αφετηρία της κάθε διερεύνησης. Πώς γίνεται αυτή η επιλογή;
Συνδετικότητα γραφήματος (graph connectivity) γράφημα συνιστωσών κατευθυνόμενο γράφημα γράφημα συνιστωσών του ανάστροφο γράφημα
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους.
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13]
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Έστω μία ισχυρά συνδεδεμένη συνιστώσα του κατευθυνόμενου γραφήματος . Ορίζουμε – δίνει το μέγιστο χρόνο περάτωσης στη συνιστώσα
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ιδιότητα Έστω διαφορετικές ισχυρά συνδεδεμένες συνιστώσες, τέτοιες ώστε για κάποιους κόμβους και . Τότε .
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ιδιότητα Έστω διαφορετικές ισχυρά συνδεδεμένες συνιστώσες, τέτοιες ώστε για κάποιους κόμβους και . Τότε .
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Από τις προηγούμενες ιδιότητες η διερεύνηση στο ανάστροφο γράφημα με αφετηρία τον κόμβο με το μέγιστο χρόνο περάτωσης (στο αρχικό γράφημα) επισκέπτεται μόνο κόμβους που ανήκουν στην ίδια ισχυρά συνδεδεμένη συνιστώσα.
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Από τις προηγούμενες ιδιότητες η διερεύνηση στο ανάστροφο γράφημα με αφετηρία τον κόμβο με το μέγιστο χρόνο περάτωσης (στο αρχικό γράφημα) επισκέπτεται μόνο κόμβους που ανήκουν στην ίδια ισχυρά συνδεδεμένη συνιστώσα. Συνεχίζουμε με την ίδια διαδικασία με αφετηρία τον κόμβο που δεν έχουμε επισκεφτεί ακόμα και έχει μέγιστο χρόνο περάτωσης…
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το Συνεχίζουμε με αφετηρία το
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το Συνεχίζουμε με αφετηρία το
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το Συνεχίζουμε με αφετηρία το Συνεχίζουμε με αφετηρία το
Συνδετικότητα γραφήματος (graph connectivity) Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το Συνεχίζουμε με αφετηρία το Συνεχίζουμε με αφετηρία το
Συνδετικότητα γραφήματος (graph connectivity) Αλγόριθμος υπολογισμού των ισχυρά συνδεδεμένων συνιστωσών 1. Εκτελούμε καθοδική διερεύνηση στο και υπολογίζουμε τον χρόνο περάτωσης του κάθε κόμβου 2. Υπολογίζουμε το ανάστροφο γράφημα 3. Εκτελούμε καθοδική διερεύνηση στο όπου ως αφετηρία επιλέγεται από τους κόμβους που δεν έχουμε επισκεφτεί αυτός με το μέγιστο 4. Επιστρέφουμε τους κόμβους του κάθε δένδρου του καθοδικού δάσους ως μία ξεχωριστή ισχυρά συνδεδεμένη συνιστώσα
Συνδετικότητα γραφήματος (graph connectivity) Αλγόριθμος υπολογισμού των ισχυρά συνδεδεμένων συνιστωσών 1. Εκτελούμε καθοδική διερεύνηση στο και υπολογίζουμε τον χρόνο περάτωσης του κάθε κόμβου 2. Υπολογίζουμε το ανάστροφο γράφημα 3. Εκτελούμε καθοδική διερεύνηση στο όπου ως αφετηρία επιλέγεται από τους κόμβους που δεν έχουμε επισκεφτεί αυτός με το μέγιστο 4. Επιστρέφουμε τους κόμβους του κάθε δένδρου του καθοδικού δάσους ως μία ξεχωριστή ισχυρά συνδεδεμένη συνιστώσα Χρόνος εκτέλεσης :