Κατέβασμα παρουσίασης
Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε
ΔημοσίευσεὈλυσσεύς Κρεστενίτης Τροποποιήθηκε πριν 7 χρόνια
1
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 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
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Σύνολο κορυφών (κόμβων) (vertex set) Σύνολο ακμών (edge set) Μερικά είδη γραφημάτων: Κατεύθυνση ακμών μη κατευθυνόμενα κατευθυνόμενα Βάρος ακμών μη σταθμισμένα σταθμισμένα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA
3
Αναπαράσταση Γραφήματος
Μήτρα γειτνίασης (adjacency matrix): Χρησιμοποιούμε έναν πίνακα Α, όπου 1 2 Χώρος: bits 3 4 5 συμμετρικός πίνακας Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA
4
Αναπαράσταση Γραφήματος
Μήτρα γειτνίασης (adjacency matrix): Χρησιμοποιούμε έναν πίνακα Α, όπου 1 2 Χώρος: bits 3 4 5 Ελέγχουμε αν σε χρόνο Επεξεργαζόμαστε όλες τις ακμές σε χρόνο TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA
5
Αναπαράσταση Γραφήματος
Λίστες γειτνίασης (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
6
Αναπαράσταση Γραφήματος
Λίστες γειτνίασης (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
7
Αναπαράσταση Γραφήματος
Λίστες γειτνίασης (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]); } Διαβάζει κατευθυνόμενο γράφημα
8
Διερεύνηση γραφήματος
9
Οριζόντια διερεύνηση γραφήματος
10
Οριζόντια διερεύνηση γραφήματος
b c d b a c c d f e h c g h f
11
Οριζόντια διερεύνηση γραφήματος
b c d b a c c d f e h c g h f Η αναζήτηση θα ξεκινήσει από τον κόμβο . Χρησιμοποιούμε μία FIFO ουρά Q για να κρατάμε τη σειρά επίσκεψης των κόμβων.
12
Οριζόντια διερεύνηση γραφήματος
b c d b a c c d f e h c g h f Ουρά Q : Αρχικά κενή
13
Οριζόντια διερεύνηση γραφήματος
b c d b a c c d f e h c g h f τοποθέτηση(Q,a) : τοποθετεί το a στο τέλος της ουράς Ουρά Q
14
Οριζόντια διερεύνηση γραφήματος
1 b c d b a c c d f e h c g h f τοποθέτηση(Q,a) : τοποθετεί το a στο τέλος της ουράς Ουρά Q
15
Οριζόντια διερεύνηση γραφήματος
1 b c d b a c c d f e h c g h f λήψη(Q) : επιστρέφει το πρώτο στοιχείο της Q που θα επεξεργαστούμε Ουρά Q
16
Οριζόντια διερεύνηση γραφήματος
1 b c d b a c c d f e h c g h f Ουρά Q
17
Οριζόντια διερεύνηση γραφήματος
1 b c d b 2 a c c d f e h c g h f τοποθέτηση(Q,b) Ουρά Q
18
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f e h c g h f τοποθέτηση(Q,c) Ουρά Q
19
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f e h c g h f λήψη(Q) Ουρά Q
20
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f τοποθέτηση(Q,d) Ουρά Q
21
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f Ουρά Q
22
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
23
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f o κόμβος b είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
24
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f Ουρά Q
25
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
26
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f o κόμβος a είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
27
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f o κόμβος c είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
28
Οριζόντια διερεύνηση γραφήματος
3 1 b c d b 2 a c c d f 4 e h c g h f η Q είναι άδεια : βρίσκουμε τον επόμενο κόμβο που δεν έχουμε επισκεφτεί Ουρά Q
29
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 a c c d f 4 e h c g h f τοποθέτηση(Q,e) Ουρά Q
30
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
31
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 a c c d f 4 e h c g h f ο κόμβος c είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
32
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 a c c d f 4 e h c g h f ο κόμβος d είχε τοποθετηθεί στην Q προηγουμένως και δεν τοποθετείται ξανά Ουρά Q
33
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 6 a c c d f 4 e h c g h f τοποθέτηση(Q,f) Ουρά Q
34
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 6 a c c d f 4 e h c g h f Ουρά Q
35
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 6 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
36
Οριζόντια διερεύνηση γραφήματος
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
37
Οριζόντια διερεύνηση γραφήματος
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
38
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 6 7 a c c d f 4 e h c g h f Ουρά Q
39
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 6 7 a c c d f 4 e h c g h f λήψη(Q) Ουρά Q
40
Οριζόντια διερεύνηση γραφήματος
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
41
Οριζόντια διερεύνηση γραφήματος
3 1 5 b c d b 2 6 7 a c c d f 4 e h c g h f η Q είναι άδεια : βρίσκουμε τον επόμενο κόμβο που δεν έχουμε επισκεφτεί Ουρά Q
42
Οριζόντια διερεύνηση γραφήματος
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
43
Οριζόντια διερεύνηση γραφήματος
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
44
Οριζόντια διερεύνηση γραφήματος
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
45
Οριζόντια διερεύνηση γραφήματος
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
46
Οριζόντια διερεύνηση γραφήματος
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
47
Οριζόντια διερεύνηση γραφήματος
3 1 5 8 b c d b 2 6 7 a c c d f 4 e h c g h f η Q είναι άδεια και έχουμε επισκεφτεί όλους τους κόμβους : τέλος διερεύνησης.
48
Οριζόντια διερεύνηση γραφήματος
3 1 5 8 2 6 7 4 δάσος οριζόντιας διερεύνησης
49
Οριζόντια διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: 2 b c d 8 7 1 b a c c d f 4 5 3 e h 6 c g h f
50
Οριζόντια διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: 2 8 7 1 4 5 3 6 δάσος οριζόντιας διερεύνησης
51
Οριζόντια διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: 2 8 7 1 4 5 3 6 δάσος οριζόντιας διερεύνησης βρίσκει τις συντομότερες διαδρομές (ως προς το πλήθος των ακμών) από τον αφετηριακό κόμβο προς κάθε άλλο κομβο
52
Οριζόντια διερεύνηση γραφήματος
Με αφετηρία το g (αν είχαμε και την ακμή ) : 2 8 5 1 4 6 3 7 δάσος οριζόντιας διερεύνησης e f βρίσκει τις συντομότερες διαδρομές (ως προς το πλήθος των ακμών) από τον αφετηριακό κόμβο προς κάθε άλλο κομβο
53
Οριζόντια διερεύνηση γραφήματος
Γίνεται με όμοιο τρόπο σε μη κατευθυνόμενο γράφημα: π.χ. με αφετηρία το g λαμβάνουμε: 4 2 7 1 5 6 8 3 βρίσκει τις συντομότερες διαδρομές (ως προς το πλήθος των ακμών) από τον αφετηριακό κόμβο προς κάθε άλλο κομβο
54
Οριζόντια διερεύνηση γραφήματος
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); }
55
Καθοδική διερεύνηση γραφήματος
56
Καθοδική διερεύνηση γραφήματος
b c d b a c c d f e h c g h f
57
Καθοδική διερεύνηση γραφήματος
b c d b a c c d f e h c g h f Η αναζήτηση θα ξεκινήσει από τον κόμβο . Χρησιμοποιούμε μία στοίβα S για να κρατάμε τη σειρά επίσκεψης των κόμβων.
58
Καθοδική διερεύνηση γραφήματος
b c d b a c c d f e h c g h f Στοίβα S : Αρχικά κενή
59
Καθοδική διερεύνηση γραφήματος
1 b c d b a c c d f e h c g h f ώθηση(S,a) : τοποθετεί το a στην κορυφή της στοίβας Στοίβα S
60
Καθοδική διερεύνηση γραφήματος
1 b c d b a c c d f e h c g h f ώθηση(S,a) : τοποθετεί το a στην κορυφή της στοίβας Στοίβα S
61
Καθοδική διερεύνηση γραφήματος
1 b c d b a c c d f e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
62
Καθοδική διερεύνηση γραφήματος
1 b c d b a c c d f e h c g h f Στοίβα S
63
Καθοδική διερεύνηση γραφήματος
1 b c d b 2 a c c d f e h c g h f ώθηση(S,b) Στοίβα S
64
Καθοδική διερεύνηση γραφήματος
1 b c d b 2 a c c d f e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
65
Καθοδική διερεύνηση γραφήματος
1 b c d b 2 a c c d f 3 e h c g h f ώθηση(S,d) Στοίβα S
66
Καθοδική διερεύνηση γραφήματος
1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
67
Καθοδική διερεύνηση γραφήματος
1 b c d b 2 a c c d f 3 e h c g h f o κόμβος a είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
68
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f ώθηση(S,c) Στοίβα S
69
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
70
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f o κόμβος b είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
71
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
72
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
73
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
74
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
75
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
76
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
77
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f o κόμβος c είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
78
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
79
Καθοδική διερεύνηση γραφήματος
4 1 b c d b 2 a c c d f 3 e h c g h f Η S είναι άδεια. Βρίσκουμε τον επόμενο κόμβο που δεν έχουμε επισκεφτεί Στοίβα S
80
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 a c c d f 3 e h c g h f ώθηση(S,e) Στοίβα S
81
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
82
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 a c c d f 3 e h c g h f o κόμβος c είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
83
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 a c c d f 3 e h c g h f o κόμβος d είχε τοποθετηθεί στην S προηγουμένως και δεν τοποθετείται ξανά Στοίβα S
84
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 a c c d f 3 e h c g h f ώθηση(S,f) Στοίβα S
85
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
86
Καθοδική διερεύνηση γραφήματος
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
87
Καθοδική διερεύνηση γραφήματος
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
88
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
89
Καθοδική διερεύνηση γραφήματος
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
90
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
91
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
92
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
93
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
94
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f απώθηση(S) Στοίβα S
95
Καθοδική διερεύνηση γραφήματος
4 1 5 b c d b 2 6 7 a c c d f 3 e h c g h f η S είναι άδεια: βρίσκουμε τον επόμενο κόμβο που δεν έχουμε επισκεφτεί Στοίβα S
96
Καθοδική διερεύνηση γραφήματος
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
97
Καθοδική διερεύνηση γραφήματος
4 1 5 8 b c d b 2 6 7 a c c d f 3 e h c g h f επεξεργαζόμαστε το στοιχείο που βρίσκεται στην κορυφή της στοίβας Στοίβα S
98
Καθοδική διερεύνηση γραφήματος
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
99
Καθοδική διερεύνηση γραφήματος
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
100
Καθοδική διερεύνηση γραφήματος
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
101
Καθοδική διερεύνηση γραφήματος
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
102
Καθοδική διερεύνηση γραφήματος
4 1 5 8 b c d b 2 6 7 a c c d f 3 e h c g h f η S είναι άδεια και έχουμε επισκεφτεί όλους τους κόμβους : τέλος διερεύνησης
103
Καθοδική διερεύνηση γραφήματος
4 1 5 8 2 6 7 3 δάσος καθοδικής διερεύνησης
104
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: 2 b c 5 8 1 d b a c 3 7 6 c d f e h 4 c g h f
105
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: 2 5 8 1 3 7 6 4 δάσος καθοδικής διερεύνησης
106
Καθοδική διερεύνηση γραφήματος
Υλοποίηση με αναδρομή 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); }
107
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: 2 5 δενδρική ακμή 8 1 3 7 6 4 δάσος καθοδικής διερεύνησης
108
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: 2 5 δενδρική ακμή 8 1 3 7 6 εγκάρσια ακμή 4 δάσος καθοδικής διερεύνησης
109
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: ανιούσα ακμή 2 5 δενδρική ακμή 8 1 3 7 6 εγκάρσια ακμή 4 δάσος καθοδικής διερεύνησης
110
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g (αν είχαμε και την ακμή ) : ανιούσα ακμή 2 7 5 δενδρική ακμή 1 3 8 6 κατιούσα ακμή εγκάρσια ακμή 4 e f δάσος καθοδικής διερεύνησης
111
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g (αν είχαμε και την ακμή ) : ανιούσα ακμή 2 7 5 δενδρική ακμή 1 3 8 6 κατιούσα ακμή εγκάρσια ακμή 4 e f δάσος καθοδικής διερεύνησης Σε μη κατευθυνόμενο γράφημα έχουμε μόνο δενδρικές και ανιούσες ακμές
112
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g (αν είχαμε και την ακμή ) : 3 2 7 1 4 5 8 6 δάσος καθοδικής διερεύνησης Σε μη κατευθυνόμενο γράφημα έχουμε μόνο δενδρικές και ανιούσες ακμές
113
Καθοδική διερεύνηση γραφήματος
Για να λάβουμε περισσότερες πληροφορίες για τη δομή του γραφήματος διατηρούμε ένα μετρητή «χρόνου». Ο μετρητής αυξάνει κατά μία μονάδα όταν: - επισκεπτόμαστε ένα νέο κόμβο χρόνος εντοπισμού του κόμβου - ολοκληρώνουμε την εξέταση του καταλόγου γειτνίασης ενός κόμβου χρόνος περάτωσης του κόμβου
114
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το g λαμβάνουμε: [5,6] [2,9] [12,13] [1,16] [3,8] [4,7] [11,14] [10,15] δάσος καθοδικής διερεύνησης
115
Καθοδική διερεύνηση γραφήματος
Με αφετηρία το 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 δάσος καθοδικής διερεύνησης
116
Καθοδική διερεύνηση γραφήματος
Για οποιουσδήποτε κόμβους και δάσος καθοδικής διερεύνησης ισχύει ένα από τα παρακάτω : 1 16 α) 2 9 10 15 ο είναι απόγονος του στο δάσος 3 8 11 14 β) 4 7 ο είναι απόγονος του στο δάσος 12 13 γ) 5 6 ο δεν είναι απόγονος του στο δάσος, και ο δεν είναι απόγονος του στο δάσος
117
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
118
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
119
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
120
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
121
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
122
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
123
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
124
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
125
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
126
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
127
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
128
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
129
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
130
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
131
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
132
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Αφαιρούμε σε κάθε βήμα ένα κόμβο χωρίς εισερχόμενες ακμές και τον τοποθετούμε στην επόμενη θέση της διάταξης. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
133
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
134
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Τοπολογική διάταξη: Εάν υπάρχει ακμή τότε το προηγείται του Θεώρημα Ένα οποιοδήποτε ΚΑΓ έχει τουλάχιστον μία τοπολογική διάταξη. Επιπλέον μπορούμε να βρούμε μία τοπολογική διάταξη σε γραμμικό χρόνο. Ένας εναλλακτικός τρόπος είναι να εκτελέσουμε καθοδική διερεύνηση … TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
135
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
136
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
137
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [2,] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
138
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [2,] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
139
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [2,] [4,] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
140
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [2,] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
141
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [2,] [6,] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
142
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [7,] [2,] [6,] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
143
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [7,8] [2,] [6,] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
144
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [1,] [3,] [7,8] [2,] [6,9] [4,5] TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAA
145
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [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
146
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [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
147
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [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
148
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [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
149
Τοπολογική διάταξη κατευθυνόμενου άκυκλου γραφήματος
Εκτελούμε καθοδική διερεύνηση και καταγράφουμε τους χρόνους περάτωσης [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
150
Συνδετικότητα γραφήματος (graph connectivity)
151
Συνδετικότητα γραφήματος (graph connectivity)
Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός προγράμματος τρανζίστορ σε ηλεκτρονικό κύκλωμα β
152
Συνδετικότητα γραφήματος (graph connectivity)
Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός προγράμματος τρανζίστορ σε ηλεκτρονικό κύκλωμα β
153
Συνδετικότητα γραφήματος (graph connectivity)
Μη κατευθυνόμενα γραφήματα Συνδεδεμένη συνιστώσα γραφήματος Μείζον σύνολο κόμβων τέτοιο ώστε για κάθε δύο κόμβους υπάρχει μονοπάτι που συνδέει το και το συνδεδεμένες συνιστώσες : Μπορούν να υπολογιστούν εύκολα σε χρόνο (πώς;)
154
Συνδετικότητα γραφήματος (graph connectivity)
Kατευθυνόμενα γραφήματα Ισχυρά συνδεδεμένη συνιστώσα κατευθυνόμενου γραφήματος Μείζον σύνολο κόμβων τέτοιο ώστε για κάθε δύο κόμβους υπάρχει μονοπάτι από το στο και από το στο ισχυρά συνδεδεμένες συνιστώσες :
155
Συνδετικότητα γραφήματος (graph connectivity)
Kατευθυνόμενα γραφήματα Ισχυρά συνδεδεμένη συνιστώσα κατευθυνόμενου γραφήματος Μείζον σύνολο κόμβων τέτοιο ώστε για κάθε δύο κόμβους υπάρχει μονοπάτι από το στο και από το στο ισχυρά συνδεδεμένες συνιστώσες : γράφημα συνιστωσών
156
Συνδετικότητα γραφήματος (graph connectivity)
κατευθυνόμενο γράφημα γράφημα συνιστωσών Στο γράφημα συνιστωσών : - κάθε αντιστοιχεί σε μία ισχυρά συνδεδεμένη συνιστώσα του - αν υπάρχει τέτοια ώστε και τότε Το γράφημα συνιστωσών είναι άκυκλο
157
Συνδετικότητα γραφήματος (graph connectivity)
κατευθυνόμενο γράφημα γράφημα συνιστωσών Έστω μία τοπολογική διάταξη των κόμβων του Παρατήρηση : Αν ξεκινήσουμε μία διερεύνηση από κάποιο κόμβο τότε θα επισκεφτούμε μόνο τους κόμβους του Στη συνέχεια αν ξεκινήσουμε από κάποιο τότε θα επισκεφτούμε μόνο τους κόμβους του βρίσκουμε το Συνεχίζουμε με τον ίδιο τρόπο μέχρι να βρούμε όλες τις συνιστώσες…
158
Συνδετικότητα γραφήματος (graph connectivity)
κατευθυνόμενο γράφημα γράφημα συνιστωσών Έστω μία τοπολογική διάταξη των κόμβων του Παρατήρηση : Αν ξεκινήσουμε μία διερεύνηση από κάποιο κόμβο τότε θα επισκεφτούμε μόνο τους κόμβους του Στη συνέχεια αν ξεκινήσουμε από κάποιο τότε θα επισκεφτούμε μόνο τους κόμβους του βρίσκουμε το Συνεχίζουμε με τον ίδιο τρόπο μέχρι να βρούμε όλες τις συνιστώσες… Επομένως, πρέπει να διερευνήσουμε το γράφημα επιλέγοντας κατάλληλα την αφετηρία της κάθε διερεύνησης. Πώς γίνεται αυτή η επιλογή;
159
Συνδετικότητα γραφήματος (graph connectivity)
γράφημα συνιστωσών κατευθυνόμενο γράφημα γράφημα συνιστωσών του ανάστροφο γράφημα
160
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους.
161
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13]
162
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Έστω μία ισχυρά συνδεδεμένη συνιστώσα του κατευθυνόμενου γραφήματος Ορίζουμε – δίνει το μέγιστο χρόνο περάτωσης στη συνιστώσα
163
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ιδιότητα Έστω διαφορετικές ισχυρά συνδεδεμένες συνιστώσες, τέτοιες ώστε για κάποιους κόμβους και Τότε
164
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ιδιότητα Έστω διαφορετικές ισχυρά συνδεδεμένες συνιστώσες, τέτοιες ώστε για κάποιους κόμβους και Τότε
165
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Από τις προηγούμενες ιδιότητες η διερεύνηση στο ανάστροφο γράφημα με αφετηρία τον κόμβο με το μέγιστο χρόνο περάτωσης (στο αρχικό γράφημα) επισκέπτεται μόνο κόμβους που ανήκουν στην ίδια ισχυρά συνδεδεμένη συνιστώσα.
166
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Από τις προηγούμενες ιδιότητες η διερεύνηση στο ανάστροφο γράφημα με αφετηρία τον κόμβο με το μέγιστο χρόνο περάτωσης (στο αρχικό γράφημα) επισκέπτεται μόνο κόμβους που ανήκουν στην ίδια ισχυρά συνδεδεμένη συνιστώσα. Συνεχίζουμε με την ίδια διαδικασία με αφετηρία τον κόμβο που δεν έχουμε επισκεφτεί ακόμα και έχει μέγιστο χρόνο περάτωσης…
167
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το
168
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το
169
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το Συνεχίζουμε με αφετηρία το
170
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το Συνεχίζουμε με αφετηρία το
171
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το Συνεχίζουμε με αφετηρία το Συνεχίζουμε με αφετηρία το
172
Συνδετικότητα γραφήματος (graph connectivity)
Πραγματοποιούμε καθοδική διερεύνηση του επιλέγοντας αυθαίρετα τους αφετηριακούς κόμβους. [6,7] [3,10] [2,11] [15,16] με αφετηρία το (και έπειτα το ) [4,9] [5,8] [1,14] [12,13] Ξεκινάμε με αφετηρία το Συνεχίζουμε με αφετηρία το Συνεχίζουμε με αφετηρία το
173
Συνδετικότητα γραφήματος (graph connectivity)
Αλγόριθμος υπολογισμού των ισχυρά συνδεδεμένων συνιστωσών 1. Εκτελούμε καθοδική διερεύνηση στο και υπολογίζουμε τον χρόνο περάτωσης του κάθε κόμβου 2. Υπολογίζουμε το ανάστροφο γράφημα 3. Εκτελούμε καθοδική διερεύνηση στο όπου ως αφετηρία επιλέγεται από τους κόμβους που δεν έχουμε επισκεφτεί αυτός με το μέγιστο 4. Επιστρέφουμε τους κόμβους του κάθε δένδρου του καθοδικού δάσους ως μία ξεχωριστή ισχυρά συνδεδεμένη συνιστώσα
174
Συνδετικότητα γραφήματος (graph connectivity)
Αλγόριθμος υπολογισμού των ισχυρά συνδεδεμένων συνιστωσών 1. Εκτελούμε καθοδική διερεύνηση στο και υπολογίζουμε τον χρόνο περάτωσης του κάθε κόμβου 2. Υπολογίζουμε το ανάστροφο γράφημα 3. Εκτελούμε καθοδική διερεύνηση στο όπου ως αφετηρία επιλέγεται από τους κόμβους που δεν έχουμε επισκεφτεί αυτός με το μέγιστο 4. Επιστρέφουμε τους κόμβους του κάθε δένδρου του καθοδικού δάσους ως μία ξεχωριστή ισχυρά συνδεδεμένη συνιστώσα Χρόνος εκτέλεσης :
Παρόμοιες παρουσιάσεις
© 2024 SlidePlayer.gr Inc.
All rights reserved.