Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο"

Transcript

1 Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

2 Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα σύνολο κόμβων και E είναι ένα σύνολο με διατεταγμένα ζευγάρια κόμβων. Χαροκόπειο Πανεπιστήμιο /30

3 Γραφήματα Μη-κατευθυνόμενο Γράφημα Ένα μη-κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα σύνολο κόμβων και E είναι ένα σύνολο με ζευγάρια κόμβων. Χαροκόπειο Πανεπιστήμιο 3/30

4 Μοντελοποίηση Προβλημάτων Πάρα πολλά προβλήματα μοντελοποιούνται με γραφήματα. Δίκτυο δρόμων Κοινωνικά Δίκτυα Μόρια Χαροκόπειο Πανεπιστήμιο 4/30

5 Βασικές Λειτουργίες Προσπέλαση συσχετιζόμενων πληροφοριών. Δεδομένου ενός κόμβου ή ακμής, προσπέλαση πληροφορίας που σχετίζεται, π.χ βάρος ακμής, απόσταση από άλλο κόμβο Πλοήγηση. Με δεδομένο έναν κόμβο, προσπέλαση των εξερχόμενων ακμών του. Αυτή η λειτουργία βρίσκεται στην καρδιά των περισσότερων αλγορίθμων σε γραφήματα. Μερικές φορές θέλουμε εύκολη προσπέλαση και των εισερχόμενων ακμών ενός κόμβου. Ερωτήματα ακμής. Με δεδομένο κόμβους (u, v) θέλουμε να ξέρουμε αν η συγκεκριμένη ακμή υπάρχει σε ένα γράφημα. Μερικές φορές θέλουμε να μπορούμε να βρούμε εύκολα την αντίθετη ακμή (v, u) μίας κατευθυνόμενης ακμής (u, v). Κατασκευή, μετατροπή και έξοδος. Μετατροπή της αναπαράστασης σε πιο κατάλληλη για το συγκεκριμένο αλγοριθμικό πρόβλημα που θέλουμε να λύσουμε. Ενημέρωση. Προσθήκη και διαγραφή κόμβων ή ακμών, αλλαγή πληροφορίας κόμβου ή ακμής. Χαροκόπειο Πανεπιστήμιο 5/30

6 Αναπαράσταση Γραφημάτων Υπάρχουν διάφορες μέθοδοι, ανάλογα με τις ανάγκες μας σε χρόνο, χώρο αλλά και κατά πόσο θέλουμε να υποστηρίξουμε δυναμικά ή μόνο στατικά γραφήματα. Μη-διατεταγμένη ακολουθία ακμών Πίνακες γειτνίασης (στατικά γραφήματα) Μητρώο γειτνίασης (adjacency matrix) Λίστες γειτνίασης (adjacency lists) ή άλλες που μπορεί να είναι κατάλληλες ανάλογα με την εφαρμογή. Χαροκόπειο Πανεπιστήμιο 6/30

7 Μη διατεταγμένη ακολουθία ακμών γράφημα G(V, E) όπου V = n και E = m Η αναπαράσταση περιέχει: μία μη διατεταγμένη λίστα με τις ακμές ((1, 0), (0, 3), (1, 3), (1, ), (4, 3), (, 1), (4, ), (1, 4), (4, 1)) Χαροκόπειο Πανεπιστήμιο 7/30

8 Μη διατεταγμένη ακολουθία ακμών γράφημα G(V, E) όπου V = n και E = m ((1, 0), (0, 3), (1, 3), (1, ), (4, 3), (, 1), (4, ), (1, 4), (4, 1)) Χαρακτηριστικά συνήθης μορφή για είσοδο/έξοδο εύκολη προσθήκη ακμής ή κόμβου σε O(1) όλες η υπόλοιπες (π.χ πλοήγηση) O(m) απαγορευτικά μεγάλος Χαροκόπειο Πανεπιστήμιο 8/30

9 Πίνακας Γειτνίασης γράφημα G(V, E) όπου V = n και E = m Η αναπαράσταση περιέχει: πίνακας E[0... m 1] με ομαδοποιημένες τις εξερχόμενες ακμές ανά κόμβο πίνακας V[0... n 1] με θέσεις εκκίνησης υποπινάκων (ανά κόμβο) Για κόμβο v, η θέση V[v] περιέχει την θέση του E όπου βρίσκεται η πρώτη εξερχόμενη ακμή του v Βολεύει να προσθέσουμε εικονική καταχώρηση V[n] = m, τότε οι. εξερχόμενες ακμές του v είναι οι E[V[v]],..., E[V[v + 1] 1]. 0 n V 4 3 E m 1 Χαροκόπειο Πανεπιστήμιο 9/30

10 Πίνακας Γειτνίασης γράφημα G(V, E) όπου V = n και E = m 1 0 V 0 n E m 1 Χαρακτηριστικά κατανάλωση χώρου n + m + Θ(1) λέξεις επιπλέον πληροφορίες μπορούν να αποθηκευθούν μέσα στον πίνακα ακμών στατική αναπαράσταση πλοήγηση (π.χ εκτύπωση εξερχόμενων ακμών) χρόνο ίσο με τον βαθμό του κόμβου O(d) ερώτημα ακμής O(d) χρόνο Χαροκόπειο Πανεπιστήμιο 10/30

11 Πίνακας Γειτνίασης Άσκηση Σχεδιάστε έναν αλγόριθμο γραμμικού χρόνο O(n + m) ο οποίος πρέπει να μετατρέπει την αναπαράσταση ενός κατευθυνόμενου γραφήματος με μη-διατεταγμένη ακολουθία ακμών σε αναπαράσταση με πίνακα γειτνίασης. Πρέπει να χρησιμοποιήσετε μόνο O(1) βοηθητικό χώρο. Υπόδειξη: Θεωρήστε πως το πρόβλημα είναι η ταξινόμηση των ακμών με βάση τον κόμβο προέλευσης τους. Χρησιμοποιήστε, προσαρμόζοντας κατάλληλα, τον αλγόριθμο ταξινόμηση ακεραίων που τρέχει σε γραμμικό χρόνο. Θα χρειαστεί να διαβάσετε το κεφάλαιο ταξινόμηση. Χαροκόπειο Πανεπιστήμιο 11/30

12 Μητρώο γειτνίασης γράφημα G(V, E) όπου V = n και E = m Η αναπαράσταση περιέχει: ένα διδιάστατο πίνακα A με διαστάσεις n n η θέση του πίνακα i, j υποδηλώνει την ύπαρξη ή όχι της κατευθυνόμενης ακμής (i, j) εάν e = (i, j) E τότε A[i][j] = 1 αλλιώς A = Χαροκόπειο Πανεπιστήμιο 1/30

13 Μητρώο γειτνίασης γράφημα G(V, E) όπου V = n και E = m Χαρακτηριστικά Εισαγωγή/διαγραφή ακμών σε O(1) χρόνο Ερωτήματα ακμών σε O(1) χρόνο Πλοήγηση σε O(n) χρόνο - αποδοτικό μόνο για πολύ πυκνά γραφήματα Χώρος n bits Εννοιολογική σύνδεση μεταξύ γραφημάτων και γραμμικής άλγεβρας, π.χ εαν C = A k τότε το C ij μετρά τον συνολικό αριθμό των διαδρομών από τον κόμβο i στον κόμβο j οι οποίες έχουν k ακμές. Χαροκόπειο Πανεπιστήμιο 13/30

14 Λίστες γειτνίασης γράφημα G(V, E) όπου V = n και E = m Η αναπαράσταση περιέχει: ένα μονοδιάστατο πίνακα A με μία θέση για κάθε κόμβο κάθε θέση του πίνακα A είναι μία λίστα ακμών που εξέρχονται από τον αντίστοιχο κόμβο n Χαροκόπειο Πανεπιστήμιο 14/30

15 Λίστες γειτνίασης γράφημα G(V, E) όπου V = n και E = m 0 n Χαρακτηριστικά κατανάλωση χώρου n + 3m λέξεις επιπλέον πληροφορίες μπορούν να αποθηκευθούν μέσα στις λίστες ή στον πίνακα των κόμβων δυναμική αναπαράσταση - εύκολη προσθήκη/αφαίρεση ακμών πλοήγηση (π.χ εκτύπωση εξερχόμενων ακμών) χρόνο ίσο με τον βαθμό του κόμβου O(d) ερώτημα ακμής O(d) χρόνο Χαροκόπειο Πανεπιστήμιο 15/30

16 Γραφήματα με βάρη Όταν χρησιμοποιούμε γραφήματα για να απαντήσουμε ερωτήματα διαδρομών σε μία συσκευή GPS, θέλουμε να βρούμε την συντομότερη διαδρομή μεταξύ δύο σημείων: Χαροκόπειο Πανεπιστήμιο 16/30

17 Γραφήματα με βάρη Όταν χρησιμοποιούμε γραφήματα για να απαντήσουμε ερωτήματα διαδρομών σε μία συσκευή GPS, θέλουμε να βρούμε την συντομότερη διαδρομή μεταξύ δύο σημείων: έχουμε υπολογίσει από πριν μία προσέγγιση του μέσου χρόνου που χρειάζεται για να διανύσουμε ένα κομμάτι δρόμου αντιστοιχούμε σε κάθε ακμή στο γράφημα ένα αριθμό που υποδηλώνει τον χρόνο που χρειάζεται για να διανύσουμε το κομμάτι του δρόμου στο οποίο αυτή η ακμή αντιστοιχεί Γενικά, μπορούμε να αντιστοιχίσουμε πληροφορία με τους κόμβους αλλά και τις ακμές ενός γραφήματος. Ένα άλλο παράδειγμα είναι η αντιστοιχία ονόματος με κάθε ακμή. Χαροκόπειο Πανεπιστήμιο 16/30

18 Αναπαράσταση Γραφημάτων Άσκηση Θέλετε να αποθηκεύσετε ένα γράφημα που αναπαριστά το οδικό δίκτυο της πόλης που ζείτε. Απαντήστε στα παρακάτω ερωτήματα: 1 Τι θα αναπαριστά ο κάθε κόμβος του γραφήματος; Τι θα αναπαριστά η κάθε ακμή του γραφήματος; 3 Τι επιπλέον πληροφορία θα πρέπει να υπάρχει στις ακμές και στους κόμβους ώστε να μπορείτε να απαντάτε σε ερωτήματα συντομότερης διαδρομής αλλά και να μπορείτε να ζωγραφίσετε τον χάρτη; 4 Πια αναπαράσταση από τις προηγούμενες είναι η καταλληλότερη; Γιατί; Εξηγήστε. Χαροκόπειο Πανεπιστήμιο 17/30

19 Αναζήτηση κατά πλάτος (BFS) Breadth-first search Η αναζήτηση κατά πλάτος είναι ένας από τους πιο απλούς αλγόριθμους αναζήτησης στα γραφήματα και χρησιμοποιείται ως βάση για πολλούς σημαντικούς αλγόριθμους γραφημάτων. Είσοδος γράφημα G(V, E) και ένας αρχικός κόμβος s Λειτουργία Ο αλγόριθμος BFS συστηματικά εξερευνά τις ακμές του G ώστε να ανακαλύψει όλους τους κόμβους που είναι προσβάσιμοι από τον κόμβο s. Χαροκόπειο Πανεπιστήμιο 18/30

20 Αναζήτηση κατά πλάτος (BFS) Έξοδος Αποστάσεις Την απόσταση (ελάχιστο αριθμό ακμών) από τον s σε όλους τους προσβάσιμους κόμβους. Κατα-πλάτος Δέντρο Ένα κατά-πλάτος δέντρο (breadth-first tree) με ρίζα τον s που περιέχει όλους τους προσβάσιμους κόμβους. Για κάθε κόμβο v προσβάσιμο από τον s, το μονοπάτι στο BFS δέντρο αντιστοιχεί σε ελάχιστο μονοπάτι στο γράφημα. Χαροκόπειο Πανεπιστήμιο 19/30

21 Αναζήτηση κατά πλάτος (BFS) Κατευθυνόμενα και μη-κατευθυνόμενα Ο αλγόριθμος λειτουργεί και σε κατευθυνόμενα και σε μη-κατευθυνόμενα γραφήματα. Χαροκόπειο Πανεπιστήμιο 0/30

22 Αναζήτηση κατά πλάτος (BFS) Κατευθυνόμενα και μη-κατευθυνόμενα Ο αλγόριθμος λειτουργεί και σε κατευθυνόμενα και σε μη-κατευθυνόμενα γραφήματα. Μέτωπο αναζήτησης Ονομάζεται αναζήτηση κατά πλάτος γιατί μεγαλώνει το μέτωπο της αναζήτησης σε όλο το πλάτος του. Με άλλα λόγια, ο αλγόριθμος ανακαλύπτει όλους τους κόμβους σε απόσταση k από τον s πριν ανακαλύψει κάποιον κόμβο σε απόσταση k + 1. Χαροκόπειο Πανεπιστήμιο 0/30

23 Αναζήτηση κατά πλάτος (BFS) Για να μετρά την πρόοδο, ο αλγόριθμος BFS χρωματίζει τους κόμβους του γραφήματος με τρία χρώματα α) λευκό, β) γκρί, και γ) μαύρο. Όλοι οι κόμβοι αρχίζουν λευκοί και στην συνέχεια μπορούν να γίνουν γκρί και μετά μαύροι. Ένας κόμβος ανακαλύπτεται την πρώτη φορά που εμφανίζεται στην αναζήτηση, και γίνεται μη-λευκός. Οι γκρί και μαύροι κόμβοι έχουν ανακαλυφθεί. Οι γκρί κόμβοι αναπαριστούν το μέτωπο της αναζήτησης και μπορεί να έχουν λευκούς γείτονες. Χαροκόπειο Πανεπιστήμιο 1/30

24 Αναζήτηση κατά πλάτος (BFS) Ψευδοκώδικας BFS(G, s) for κάθε κόμβο u V \ {s} do color[u] = ΛΕΥΚΟ d[u] = π[u] = nil end color[s] = ΓΚΡΙ d[s] = 0 π[s] = nil Q = {s} while Q do u = Q.head() for κάθε γείτονα v του u do if color[v] = ΛΕΥΚΟ then color[v] = ΓΚΡΙ d[v] = d[u] + 1 π[v] = u Q.enqueue(v) end end Q.dequeue() color[u] = ΜΑΥΡΟ end Χαροκόπειο Πανεπιστήμιο /30

25 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u 0 v w x y Q s 0 Χαροκόπειο Πανεπιστήμιο 3/30

26 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u 1 0 v w x y Q r 1 Χαροκόπειο Πανεπιστήμιο 3/30

27 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u 1 0 Q r w v w x y Χαροκόπειο Πανεπιστήμιο 3/30

28 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u 1 0 Q r w v w x y Χαροκόπειο Πανεπιστήμιο 3/30

29 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y Q w v Χαροκόπειο Πανεπιστήμιο 3/30

30 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y Q w v Χαροκόπειο Πανεπιστήμιο 3/30

31 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y Q v t Χαροκόπειο Πανεπιστήμιο 3/30

32 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y Q v t x Χαροκόπειο Πανεπιστήμιο 3/30

33 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y Q v t x Χαροκόπειο Πανεπιστήμιο 3/30

34 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y Q t x Χαροκόπειο Πανεπιστήμιο 3/30

35 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y Q t x Χαροκόπειο Πανεπιστήμιο 3/30

36 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y 3 Q x u Χαροκόπειο Πανεπιστήμιο 3/30

37 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u 1 0 v w x y 3 Q 1 3 x u Χαροκόπειο Πανεπιστήμιο 3/30

38 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u 1 0 v w x y 3 Q u y Χαροκόπειο Πανεπιστήμιο 3/30

39 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u 1 0 v w x y 3 Q u y Χαροκόπειο Πανεπιστήμιο 3/30

40 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y 3 3 Q y 3 Χαροκόπειο Πανεπιστήμιο 3/30

41 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y 3 3 Q y 3 Χαροκόπειο Πανεπιστήμιο 3/30

42 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y 3 3 Q Χαροκόπειο Πανεπιστήμιο 3/30

43 Αναζήτηση κατά πλάτος (BFS) Παράδειγμα r s t u v w x y 3 3 Q Χαροκόπειο Πανεπιστήμιο 3/30

44 Αναζήτηση κατά πλάτος (BFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Χαροκόπειο Πανεπιστήμιο 4/30

45 Αναζήτηση κατά πλάτος (BFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Αρχικοποίηση O(n) αφού αρχικοποιούμε πίνακες που έχουν ένα στοιχείο ανά κόμβο. Χαροκόπειο Πανεπιστήμιο 4/30

46 Αναζήτηση κατά πλάτος (BFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Αρχικοποίηση O(n) αφού αρχικοποιούμε πίνακες που έχουν ένα στοιχείο ανά κόμβο. Κόστος Λειτουργιών Ουράς Μετά την αρχικοποίηση κανένας κόμβος δεν γίνεται λευκός και άρα κάθε κόμβος εισάγεται στην ουρά το πολύ μία φορά. Άρα αφαιρείται το πολύ μία φορά. Η ουρά χρειάζεται O(1) για τις λειτουργίες αυτές και άρα O(n) συνολικά. Χαροκόπειο Πανεπιστήμιο 4/30

47 Αναζήτηση κατά πλάτος (BFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Αρχικοποίηση O(n) αφού αρχικοποιούμε πίνακες που έχουν ένα στοιχείο ανά κόμβο. Κόστος Λειτουργιών Ουράς Μετά την αρχικοποίηση κανένας κόμβος δεν γίνεται λευκός και άρα κάθε κόμβος εισάγεται στην ουρά το πολύ μία φορά. Άρα αφαιρείται το πολύ μία φορά. Η ουρά χρειάζεται O(1) για τις λειτουργίες αυτές και άρα O(n) συνολικά. Κόστος Διάσχισης Ακμών Η λίστα των ακμών κάθε κόμβου διασχίζεται μόνο μία φορά όταν ο κόμβος αφαιρείται από την ουρά. Το άθροισμα του μεγέθους των λιστών γειτνίασης όλων των κόμβων είναι O(m). Χαροκόπειο Πανεπιστήμιο 4/30

48 Αναζήτηση κατά πλάτος (BFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Αρχικοποίηση O(n) αφού αρχικοποιούμε πίνακες που έχουν ένα στοιχείο ανά κόμβο. Κόστος Λειτουργιών Ουράς Μετά την αρχικοποίηση κανένας κόμβος δεν γίνεται λευκός και άρα κάθε κόμβος εισάγεται στην ουρά το πολύ μία φορά. Άρα αφαιρείται το πολύ μία φορά. Η ουρά χρειάζεται O(1) για τις λειτουργίες αυτές και άρα O(n) συνολικά. Κόστος Διάσχισης Ακμών Η λίστα των ακμών κάθε κόμβου διασχίζεται μόνο μία φορά όταν ο κόμβος αφαιρείται από την ουρά. Το άθροισμα του μεγέθους των λιστών γειτνίασης όλων των κόμβων είναι O(m). Συνολικός χρόνος εκτέλεσης O(n + m). Χαροκόπειο Πανεπιστήμιο 4/30

49 Αναζήτηση κατά βάθος (DFS) Depth-first search Η αναζήτηση κατά βάθος προσπαθεί να πάει όσο πιο βαθιά στο γράφημα γίνεται. Είσοδος γράφημα G(V, E) και ένας αρχικός κόμβος s Λειτουργία Ξεκινά από τον κόμβο s και ακολουθεί μία μία όλες τις εξερχόμενες ακμές του s εκτελώντας την ίδια λειτουργία αναδρομικά. Εαν σε κάποιο κόμβο δεν έχει άλλη διέξοδο, επιστρέφει στον κόμβο από όπου προήλθε και συνεχίζει να ακολουθεί ανεξερεύνητες ακμές. Χαροκόπειο Πανεπιστήμιο 5/30

50 Αναζήτηση κατά βάθος (DFS) Για να μετρά την πρόοδο, ο αλγόριθμος χρωματίζει τους κόμβους του γραφήματος με τρία χρώματα α) λευκό, β) γκρί, και γ) μαύρο. Όλοι οι κόμβοι αρχίζουν λευκοί και στην συνέχεια μπορούν να γίνουν γκρί και μετά μαύροι. Όταν ένας κόμβος ανακαλυφθεί γίνεται γκρί και παραμένει γκρί μέχρι να εξερευνηθούν αναδρομικά όλοι οι γείτονες τους. Στην συνέχεια γίνεται μαύρος. Ο αλγόριθμος καταγράφει δύο χρόνους για κάθε κόμβο, τον χρόνο που γίνεται γκρί και άρα ανακαλύπτεται για πρώτη φορά και τον χρόνο τερματισμού δηλαδή τον χρόνο που γίνεται μαύρος. Χαροκόπειο Πανεπιστήμιο 6/30

51 Αναζήτηση κατά βάθος (DFS) Ψευδοκώδικας dfs(g, s) for κάθε κόμβο u V do color[u] = ΛΕΥΚΟ π[u] = nil end time = 1 dfsvisit(g, s); dfsvisit(g, u) color[u] = ΓΚΡΙ d[u] = time time = time + 1 for κάθε γείτονα v του u do if color[v] = ΛΕΥΚΟ then π[v] = u dfsvisit(g, v) end end color[u] = ΜΑΥΡΟ f[u] = time time = time + 1 Χαροκόπειο Πανεπιστήμιο 7/30

52 Διάσχιση Γραφημάτων Depth-first search (DFS) s 1/ r t u v x y Χαροκόπειο Πανεπιστήμιο 8/30

53 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t u v x y Χαροκόπειο Πανεπιστήμιο 8/30

54 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 3/ u v x y Χαροκόπειο Πανεπιστήμιο 8/30

55 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 4/ 3/ u v x y Χαροκόπειο Πανεπιστήμιο 8/30

56 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 5/ 4/ 3/ u v x y Χαροκόπειο Πανεπιστήμιο 8/30

57 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 5/6 4/ 3/ u v x y Χαροκόπειο Πανεπιστήμιο 8/30

58 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 5/6 4/7 3/ u v x y Χαροκόπειο Πανεπιστήμιο 8/30

59 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 5/6 4/7 3/8 u v x y Χαροκόπειο Πανεπιστήμιο 8/30

60 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 9/ 5/6 4/7 3/8 u v x y Χαροκόπειο Πανεπιστήμιο 8/30

61 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 9/ 5/6 4/7 3/8 10/ u v x y Χαροκόπειο Πανεπιστήμιο 8/30

62 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 9/ 5/6 4/7 3/8 10/11 u v x y Χαροκόπειο Πανεπιστήμιο 8/30

63 Διάσχιση Γραφημάτων Depth-first search (DFS) s r 1/ / t 9/1 5/6 4/7 3/8 10/11 u v x y Χαροκόπειο Πανεπιστήμιο 8/30

64 Διάσχιση Γραφημάτων Depth-first search (DFS) s 1/ r /13 t 9/1 5/6 4/7 3/8 10/11 u v x y Χαροκόπειο Πανεπιστήμιο 8/30

65 Διάσχιση Γραφημάτων Depth-first search (DFS) s 1/14 r /13 t 9/1 5/6 4/7 3/8 10/11 u v x y Χαροκόπειο Πανεπιστήμιο 8/30

66 Αναζήτηση κατά βάθος (DFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Χαροκόπειο Πανεπιστήμιο 9/30

67 Αναζήτηση κατά βάθος (DFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Αρχικοποίηση O(n) αφού αρχικοποιούμε πίνακες που έχουν ένα στοιχείο ανά κόμβο. Χαροκόπειο Πανεπιστήμιο 9/30

68 Αναζήτηση κατά βάθος (DFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Αρχικοποίηση O(n) αφού αρχικοποιούμε πίνακες που έχουν ένα στοιχείο ανά κόμβο. Κλήσεις της dfsvisit(g, v) Η αναδρομική συνάρτηση dfsvisit(g, v) καλείται μία φορά σε κάθε κόμβο αφού καλείται μόνο σε λευκούς κόμβους και το πρώτο πράγμα που κάνει είναι να αλλάξει το χρώμα του κόμβου σε γκρί. Μία κλήση της dfsvisit(g, v) κοστίζει όσο το μήκος της λίστας γειτνίασης του κόμβου v. Το άθροισμα όλων των λιστών γειτνίασης είναι O(m). Χαροκόπειο Πανεπιστήμιο 9/30

69 Αναζήτηση κατά βάθος (DFS) Χρόνος Εκτέλεσης Εαν υποθέσουμε αναπαράσταση γραφήματος με λίστες γειτνίασης. Αρχικοποίηση O(n) αφού αρχικοποιούμε πίνακες που έχουν ένα στοιχείο ανά κόμβο. Κλήσεις της dfsvisit(g, v) Η αναδρομική συνάρτηση dfsvisit(g, v) καλείται μία φορά σε κάθε κόμβο αφού καλείται μόνο σε λευκούς κόμβους και το πρώτο πράγμα που κάνει είναι να αλλάξει το χρώμα του κόμβου σε γκρί. Μία κλήση της dfsvisit(g, v) κοστίζει όσο το μήκος της λίστας γειτνίασης του κόμβου v. Το άθροισμα όλων των λιστών γειτνίασης είναι O(m). Συνολικός χρόνος εκτέλεσης O(n + m). Χαροκόπειο Πανεπιστήμιο 9/30

70 Διάβασμα και Επιπλέον Πηγές Ενότητες 8.1, 8., 8.3, 8.4, 9.1 και 9. Kurt Mehlhorn και Peter Sanders. Αλγόριθμοι και Δομές Δεδομένων, Τα βασικά εργαλεία, Έκδοση 1η, Κλειδάριθμος, 014. Ενότητες 3.7 και 5.8 Robert Sedgewick. Αλγόριθμοι σε C: Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση, Αναζήτηση. Έκδοση 3η, Κλειδάριθμος, 006. Ενότητες 3.1, 3., 3.3, 4.1, 4. Sanjoy Dasgupta, Christos Papadimitriou και Umesh Vazirani, Αλγόριθμοι, Εκδόσεις Κλειδάριθμος, 008 Ενότητες.1,.,.3 Cormen, Leiserson, Rivest και Stein, Εισαγωγή στους Αλγορίθμους (σε ένα τόμο). Έκδοση 1η, Πανεπιστημιακές Εκδόσεις Κρήτης, 01. Κεφάλαιο 15 Γεώργιος Φρ. Γεωργακόπουλος, Δομές Δεδομένων: Έννοιες, Τεχνικές, Αλγόριθμοι, Πανεπιστημιακές Εκδόσεις Κρήτης, Ηράκλειο 00. Χαροκόπειο Πανεπιστήμιο 30/30

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων. Γραφήματα. Αναπαράσταση Γραφημάτων 3. Διερεύνηση σε Πρώτα σε Πλάτος (BFS) Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γράφημα Ορισμός: Ένα γράφημα G είναι το διατεταγμένο ζεύγος

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων (π.χ. δίκτυα συνεκτικότητα,

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Jon Kleinberg και Éva Tardos, Σχεδιασμός αλγορίθμων, Εκδόσεις Κλειδάριθμος,

Διαβάστε περισσότερα

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1

ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ 1 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα Αναζήτηση κατά βάθος (Depth-first search DFS) Αναζήτηση κατά πλάτος (Breadth-first search BFS) 2 Γράφημα (graph) Αναπαράσταση συνόλου

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος Επιµέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήµατα Μοντελοποίηση πολλών σηµαντικών προβληµάτων (π.χ. δίκτυα

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

Εισαγωγή στους Αλγορίθμους Ενότητα 7η Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Διερεύνηση Πρώτα σε Βάθος (DFS) 2. Τοπολογική Ταξινόμηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Depth-First Search Πρώτα σε Βάθος διερεύνηση (Depth-First Search) είναι

Διαβάστε περισσότερα

Αναζήτηση Κατά Πλάτος

Αναζήτηση Κατά Πλάτος Αναζήτηση Κατά Πλάτος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10γ: Αλγόριθμοι Γραφημάτων- Διερεύνηση Πρώτα σε Βάθος (DFS)- Τοπολογική Ταξινόμηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

Διαβάστε περισσότερα

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 3 (ανακοινώθηκε στις 24 Απριλίου 2017, προθεσμία παράδοσης: 2 Ιουνίου 2017, 12 τα μεσάνυχτα).

Διαβάστε περισσότερα

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Γραμμικές Λίστες Βασικές Έννοιες Βασικές Έννοιες. Αναπαράσταση με τύπο και με δείκτη. Γραμμικές Λίστες. Βασικές Λειτουργίες. Δομές Δεδομένων: Βασικές Έννοιες Αντικείμενο

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 6η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Γραφήματα Βασικές Έννοιες και Εφαρμογές Βασικοί

Διαβάστε περισσότερα

Εισαγωγή στους Αλγόριθμους

Εισαγωγή στους Αλγόριθμους Εισαγωγή στους Αλγόριθμους Εύη Παπαϊωάννου Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών Σκοποί ενότητας Παρουσίαση και μελέτη αλγορίθμων

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.0 (2010-05-25) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

Αναζήτηση Κατά Βάθος. Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αναζήτηση Κατά Βάθος Επιμέλεια διαφανειών: Δ. Φωτάκης Συμπληρώσεις: Α. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναζήτηση Κατά Βάθος (DFS) Εξερεύνηση

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 10η

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Εισαγωγή στους Αλγορίθμους Ενότητα 10η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 10η: Γράφοι Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 10 Γράφοι ΗΥ240 - Παναγιώτα Φατούρου 2 Γράφοι (ή Γραφήματα) Ένας γράφος

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

Αλγόριθµοι Γραφηµάτων

Αλγόριθµοι Γραφηµάτων Αλγόριθµοι Γραφηµάτων Παύλος Σπυράκης Πανεπιστήµιο Πατρών Τοµέας Θεµελιώσεων και Εφαρµογών της Επιστήµης των Υπολογιστών Ερευνητικό Ακαδηµαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Γραφήµατα Μοντελοποίηση

Διαβάστε περισσότερα

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση

Διαβάστε περισσότερα

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αναζήτηση Κατά Βάθος Επιµέλεια διαφανειών:. Φωτάκης διαφάνειες για SCC: A. Παγουρτζής Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναζήτηση Κατά Βάθος (DFS) Εξερεύνηση

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήματα. v1.3 ( ) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήματα v1.3 (2014-01-30) Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισμοί και Εφαρμογές γραφήματα γράφημα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

Συντομότερες Διαδρομές

Συντομότερες Διαδρομές Συντομότερες Διαδρομές Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη Διαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής

Διαβάστε περισσότερα

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

Διαβάστε περισσότερα

6η Διάλεξη Διάσχιση Γράφων και Δέντρων

6η Διάλεξη Διάσχιση Γράφων και Δέντρων ΘΕΩΡΙΑ ΓΡΑΦΩΝ 6 η Διάλεξη Διάσχιση Γράφων και Δέντρων Αλγόριθμος αναζήτησης σε Βαθος Αλγόριθμος αναζήτησης κατά Πλάτος Αλγόριθμοι για Δένδρα Εύρεση ελαχίστων Γεννητορικών (Επικαλύπτοντα) Δένδρων Διάσχιση

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 6η

Εισαγωγή στους Αλγορίθμους Ενότητα 6η Εισαγωγή στους Αλγορίθμους Ενότητα 6η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Αλγόριθμοι Γραφημάτων Τοπολογική Διάταξη

Διαβάστε περισσότερα

Κεφάλαιο 4 Γραφήματα και Δένδρα

Κεφάλαιο 4 Γραφήματα και Δένδρα Κεφάλαιο 4 Γραφήματα και Δένδρα Περιεχόμενα 4.1 Γραφήματα... 60 4.2 Δομές δεδομένων για την αναπαράσταση γραφημάτων... 64 4.2.1 Υλοποίηση σε Java... 66 4.3 Διερεύνηση γραφήματος... 69 4.4 Δένδρα... 86

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

Ενότητα 10 Γράφοι (ή Γραφήµατα)

Ενότητα 10 Γράφοι (ή Γραφήµατα) Ενότητα 10 Γράφοι (ή γραφήµατα) ΗΥ240 - Παναγιώτα Φατούρου 1 Γράφοι (ή Γραφήµατα) Ένας γράφος αποτελείται από ένα σύνολο από σηµεία (που λέγονται κόµβοι) και ένα σύνολο από γραµµές (που λέγονται ακµές)

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

1 Διάσχιση κατευθυνόμενων γραφημάτων

1 Διάσχιση κατευθυνόμενων γραφημάτων ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΣΧΕΔΙΑΣΜΟΣ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010 11 Ιστοσελίδα μαθήματος: http://eclass.teilam.gr/di288 5ο ΕΡΓΑΣΤΗΡΙΟ

Διαβάστε περισσότερα

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αναζήτηση Κατά Βάθος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Αναζήτηση Κατά Βάθος (DFS) Εξερεύνηση

Διαβάστε περισσότερα

Συντομότερες ιαδρομές

Συντομότερες ιαδρομές Συντομότερες ιαδρομές ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Συντομότερη ιαδρομή Κατευθυνόμενο G(V, E, w) με μήκη Μήκος διαδρομής Απόσταση d(u,

Διαβάστε περισσότερα

Συντομότερες Διαδρομές

Συντομότερες Διαδρομές Συντομότερη Διαδρομή Συντομότερες Διαδρομές Διδάσκοντες: Σ Ζάχος, Δ Φωτάκης Επιμέλεια διαφανειών: Δ Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κατευθυνόμενο G(V, E, w) με μήκη Μήκος

Διαβάστε περισσότερα

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ουρές Προτεραιότητας Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρά Προτεραιότητας Το πρόβλημα Έχουμε αντικείμενα με κλειδιά και θέλουμε ανά πάσα στιγμή

Διαβάστε περισσότερα

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Αναζήτηση Κατά Βάθος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Άπληστοι Αλγόριθμοι Είναι δύσκολο να ορίσουμε ακριβώς την έννοια του άπληστου

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Συντομότερες ιαδρομές

Συντομότερες ιαδρομές Συντομότερες ιαδρομές ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ

ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ÌïëëÜ Ì. Á μýô Á.Ì. : 5 moll@moll.r ΤΕΙ ΛΑΜΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ : ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΤΥΟ (ΕΡΓΑΣΤΗΡΙΟ) Ε ΕΞΑΜΗΝΟ ΕΙΣΗΓΗΤΕΣ: Χαϊδόγιαννος Χαράλαμπος ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου Χριστίνα Σπυροπούλου 8η Διάλεξη 8 Δεκεμβρίου 2016 1 Ασύγχρονη κατασκευή BFS δέντρου Στα σύγχρονα συστήματα ο αλγόριθμος της πλημμύρας είναι ένας απλός αλλά

Διαβάστε περισσότερα

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

Διαβάστε περισσότερα

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2017-2018. Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

Διαβάστε περισσότερα

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις

ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις ΠΛΗ 20, 6 η ΟΣΣ: Δέντρα Εξετάσεις Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο Δέντρα Δέντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση (ιεραρχικών)

Διαβάστε περισσότερα

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs) Μη κατευθυνόµενα γραφήµατα Στοιχεία Θεωρίας Γραφηµάτων (1) Απλό µη κατευθυνόµενο γράφηµα G είναι διατεταγµένο Ϲεύγος (V, E) µε σύνολο κορυφών/κόµβων V Ορέστης Τελέλης tllis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων,

Διαβάστε περισσότερα

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 9: Γράφοι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Γράφοι - ορισμοί και υλοποίηση - Διάσχιση Γράφων Διδάσκων: Παναγιώτης νδρέου ΕΠΛ035 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ.

Διαβάστε περισσότερα

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π.

Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων ΣΗΜΜΥ - Ε.Μ.Π. Αλγόριθμοι και πολυπλοκότητα: 4 η σειρά ασκήσεων CO.RE.LAB. ΣΗΜΜΥ - Ε.Μ.Π. Άσκηση 1 η : Παιχνίδι επιλογής ακμών Έχουμε ένα ακυκλικό κατευθυνόμενο γράφο, μια αρχική κορυφή και δυο παίκτες. Οι παίκτες διαδοχικά

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Ελάχιστα Γεννητικά Δένδρα Ελάχιστο Γεννητικό

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήματα. ver. 21/12/2014. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήματα ver. 21/12/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισμοί και Εφαρμογές γραφήματα γράφημα G: ένας τρόπος κωδικοποίησης των σχέσεων ανά

Διαβάστε περισσότερα

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to Κεφάλαιο 2 Δοµές Δεδοµένων Ι Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε

Διαβάστε περισσότερα

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1 Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Διάσχιση Γράφων Τοπολογική Ταξινόµηση ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι - Γράφοι Η πιο γενική µορφή δοµής

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γραφηµάτων (1)

Στοιχεία Θεωρίας Γραφηµάτων (1) Στοιχεία Θεωρίας Γραφηµάτων (1) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Γραφηµάτων (1) 1 / 23 Μη κατευθυνόµενα γραφήµατα

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:

Διαβάστε περισσότερα

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ 2 Η ΔΙΑΛΕΞΗ Βασικές Έννοιες Γράφων - Ορισμοί (συνέχεια) - Ισομορφισμοί-Ομοιομορφισμοί Γράφων - Πράξεις - Αναπαράσταση Γράφων (Πίνακες

Διαβάστε περισσότερα

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Πίνακες Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2012-2013 Πίνακες Πολλές φορές θέλουμε να κρατήσουμε στην μνήμη πολλά αντικείμενα

Διαβάστε περισσότερα

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών

Αναζήτηση στους γράφους. - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών Αναζήτηση στους γράφους Βασικός αλγόριθμος λό - Αναζήτηση κατά πλάτος - Αναζήτηση η κατά βάθος Συνεκτικές Συνιστώσες - Αλγόριθμος εύρεσης συνεκτικών συνιστωσών Διάσχιση (αναζήτηση ) στους γράφους Φεύγοντας

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 4.1 Βασικοί Αλγόριθμοι Γραφημάτων Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγοριθμική Θεωρία

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 9 Απριλίου 2009 1 / 0 Παραδείγµατα γράφων

Διαβάστε περισσότερα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

Διαβάστε περισσότερα

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 11. Γράφοι 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 23/12/2016 Εισαγωγή Οι γράφοι

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Διερεύνηση γραφήματος

Διερεύνηση γραφήματος Διερεύνηση γραφήματος Διερεύνηση γραφήματος Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος ή κατά βάθος. Καθοδική διερεύνηση

Διαβάστε περισσότερα

Σημειωματάριο Δευτέρας 4 Δεκ. 2017

Σημειωματάριο Δευτέρας 4 Δεκ. 2017 Σημειωματάριο Δευτέρας 4 Δεκ. 2017 Ο αλγόριθμος Floyd-Warshall για την έυρεση όλων των αποστάσεων σε ένα γράφημα με βάρη στις ακμές Συνεχίσαμε σήμερα το θέμα της προηγούμενης Τετάρτης. Έχουμε ένα γράφημα

Διαβάστε περισσότερα

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) 3 ο Εξάμηνο Σπουδών Εαρινό Εξάμηνο 2010/11 Διδάσκων: Χαρμανδάρης Ευάγγελος, Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης email: vagelis@tem.uoc.gr, Ιστοσελίδα Μαθήματος:

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού και κατασκευή BFS δένδρου σε σύγχρονο γενικό δίκτυο Παναγιώτα Παναγοπούλου Περίληψη Εκλογή αρχηγού σε γενικά δίκτυα Ορισμός του προβλήματος Ο αλγόριθμος FloodMax

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

Διαβάστε περισσότερα

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3

Outline 1 Άσκηση 1 2 Άσκηση 2 3 Άσκηση 3 4 Άσκηση 4 5 Άσκηση 5 6 Προγραμματιστική Άσκηση 1 7 Προγραμματιστική Άσκηση 2 (CoReLab - NTUA) Αλγόριθμοι - 3 Αλγόριθμοι και Πολυπλοκότητα 3η Σειρά Γραπτών και Προγραμματιστικών Ασκήσεων CoReLab ΣΗΜΜΥ - Ε.Μ.Π. Ιανουάριος 2019 (CoReLab - NTUA) Αλγόριθμοι - 3η σειρά ασκήσεων Ιανουάριος 2019 1 / 54 Outline 1 Άσκηση

Διαβάστε περισσότερα

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research ΑΛΓΟΡΙΘΜΟΙ ΜΕ C ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής CMOR Lab Computational Methodologies and Operations Research Quiz-[9] Συν (+) και Πλην (-) Έστω n συνεχόμενοι θετικοί ακέραιοι από το 1 μέχρι το n.

Διαβάστε περισσότερα

Σημειωματάριο Τετάρτης 29 Νοε. 2017

Σημειωματάριο Τετάρτης 29 Νοε. 2017 Σημειωματάριο Τετάρτης 29 Νοε. 2017 Γραφήματα (γράφοι), η αναπαράστασή τους στον υπολογιστή και μερικά προβλήματα σε αυτά Είδαμε σήμερα λίγα πράγματα για γραφήματα (ή γράφους). Γράφημα είναι, στην απλούστερή

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Εκλογή αρχηγού σε γενικά δίκτυα 20 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Εκλογή αρχηγού σε γενικά δίκτυα Προηγούμενη διάλεξη Σύγχρονα Κατανεμημένα Συστήματα Μοντελοποίηση συστήματος Πρόβλημα εκλογής αρχηγού

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι 1 Έννοια Ανεπίσημα, ένας αλγόριθμος είναι μια βήμα προς βήμα μέθοδος για την επίλυση ενός προβλήματος ή την διεκπεραίωση

Διαβάστε περισσότερα

Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) :

Γέφυρες σε Δίκτυα. Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος. Γέφυρα του (με αφετηρία τον ) : Μας δίνεται ένα δίκτυο (κατευθυνόμενο γράφημα) αφετηριακός κόμβος και Γέφυρα του (με αφετηρία τον ) : Ακμή που περιέχεται σε κάθε μονοπάτι από το στο s a b c d e f g h i j k l Μας δίνεται ένα δίκτυο (κατευθυνόμενο

Διαβάστε περισσότερα

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( ) Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική

Διαβάστε περισσότερα

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

Διαβάστε περισσότερα

Περιεχόμενα. Περιεχόμενα

Περιεχόμενα. Περιεχόμενα Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...

Διαβάστε περισσότερα

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026

Δρομολόγηση Και Πολύχρωματισμός. Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Δρομολόγηση Και Πολύχρωματισμός Μονοπατιών Γραφημάτων ΚΑΡΑΓΕΩΡΓΟΣ ΤΙΜΟΘΕΟΣ Α.Μ 1026 Εισαγωγή. Το πρόβλημα με το οποίο θα ασχοληθούμε εδώ είναι γνωστό σαν: Δρομολόγηση και Πολύ-χρωματισμός Διαδρομών (Routing

Διαβάστε περισσότερα

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή raniah@hua.gr 1 Αναζήτηση Δοθέντος ενός προβλήματος με περιγραφή είτε στον χώρο καταστάσεων

Διαβάστε περισσότερα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 3: Δένδρα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 3 1. Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή 2. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης 3. Ένας πίνακας

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 3η

Εισαγωγή στους Αλγορίθμους Ενότητα 3η Εισαγωγή στους Αλγορίθμους Ενότητα 3η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 5 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα