Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αναδρομικοί Αλγόριθμοι
Advertisements

Δομές Δεδομένων και Αλγόριθμοι
Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Επίπεδα Γραφήματα (planar graphs)
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έχουμε αποθηκεύσει.
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δένδρα στα οποία κάθε.
11-1 ΜΑΘΗΜΑ 12 ο Γράφοι, Διάσχιση Γράφων Υλικό από τις σημειώσεις Ν. Παπασπύρου, 2006.
1Πέτρος ΣτεφανέαςΠρογραμματιστικές Τεχνικές ΓΡΑΦΟΙ (GRAPHS) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Νίκος Παπασπύρου.
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Προσεγγιστικοί Αλγόριθμοι
Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Έλεγχος της.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν διάσπαση πρόβλημα.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Γραμμικός Προγραμματισμός TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μια εταιρεία παράγει κέικ δύο κατηγοριών,
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη C Ακέραιοι.
Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A αβ ζ η ε γ θ Το γράφημα.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Αναζήτηση Κατά Βάθος Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Γράφημα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Συνδυαστικό αντικείμενο που αποτελείται από.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Διερεύνηση γραφήματος
Δένδρα Δένδρο είναι ένα συνεκτικό άκυκλο γράφημα. Δένδρο Δένδρο Δένδρο
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Πίνακες Συμβόλων TexPoint fonts used in EMF.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Στοιχεία Θεωρίας Γραφημάτων
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ουρά Προτεραιότητας (priority queue)
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
Ελαφρύτατες διαδρομές
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Μεταγράφημα παρουσίασης:

Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 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. Επιστρέφουμε τους κόμβους του κάθε δένδρου του καθοδικού δάσους ως μία ξεχωριστή ισχυρά συνδεδεμένη συνιστώσα Χρόνος εκτέλεσης :