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

Μέγεθος: 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, Σχεδιασμός αλγορίθμων, Εκδόσεις Κλειδάριθμος,

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 3 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών 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: ένας τρόπος κωδικοποίησης των σχέσεων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 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: ένας τρόπος κωδικοποίησης των σχέσεων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 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: ένας τρόπος κωδικοποίησης των σχέσεων ανά

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα 1 Μη Κατευθυνόμενο Γράφημα G(V, E) V σύνολο κόμβων E σύνολο ακμών (ζεύγοι κόμβων)

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

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

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

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

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

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

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

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

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

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

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο

Outline 1 Άσκηση 1: Εφαρμογές BFS DFS 2 Άσκηση 2: Μια Συνάρτηση Κόστους σε Κατευθυνόμενα Γραφήματα 3 Άσκηση 3: Ανάλυση Ασφάλειας 4 Άσκηση 4: Το Σύνολο Αλγόριθμοι και Πολυπλοκότητα 3η σειρά γραπτών και προγραμματιστικών ασκήσεων CoReLab ΣΗΜΜΥ ΕΜΠ Ιανουάριος 2017 CoReLab ΣΗΜΜΥ ΕΜΠ Αλγόριθμοι και Πολυπλοκότητα Ιανουάριος 2017 1 / 53 Outline 1 Άσκηση 1:

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

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00 Χρήστος. Ζαρολιάγκης Τεχνολογίες Υλοποίησης Αλγορίθµων : Άσκηση 1 1 Ασκηση 1 [16.03.2016] Παράδοση : Τετάρτη 13.04.2016, 13:00 Η παρούσα άσκηση αφορά στον έλεγχο διµερότητας ενός γραφήµατος. Σκοπός της

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

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

Περιεχόμενα. Περιεχόμενα Περιεχόμενα 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 Εκφράσεις...

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

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

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

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

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Σχεδίαση Αλγορίθμων Μείωσε και Βασίλευε http://delab.csd.auth.gr/~gounaris/courses/ad auth gounaris/courses/ad Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Μείωσε και Βασίλευε 1. Μειώνουμε

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

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

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

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου 11η Διάλεξη 12 Ιανουαρίου 2017 1 Ανεξάρτητο σύνολο Δοθέντος ενός μη κατευθυνόμενου γραφήματος G = (V, E), ένα ανεξάρτητο σύνολο (independent set) είναι ένα

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

Βασικές Έννοιες Δοµών Δεδοµένων

Βασικές Έννοιες Δοµών Δεδοµένων Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

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

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

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ

ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, σελ. 55-62 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 5) Δυαδική αναζήτηση

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #2: Πολυωνυμικοί Αλγόριθμοι, Εισαγωγή στα Γραφήματα, Αναζήτηση κατά Βάθος, Τοπολογική Ταξινόμηση

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

12/1/2006 Διακριτά Μαθηματικά. Ορισμός. Υπό γράφημα Τ γραφήματος Γ καλείται συνδετικό (ή επικαλύπτον)

12/1/2006 Διακριτά Μαθηματικά. Ορισμός. Υπό γράφημα Τ γραφήματος Γ καλείται συνδετικό (ή επικαλύπτον) ΣΥΝΔΕΤΙΚΑ ΔΕΝΤΡΑ Ορισμός. Υπό γράφημα Τ γραφήματος Γ καλείται συνδετικό (ή επικαλύπτον) δέντρο (spanning tree) του Γ εάν αυτό είναι δέντρο και περιέχει όλες τις κορυφές του Γ. Παράδειγμα. Στο παρακάτω

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,

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

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035).

Βασικές Δοµές Δεδοµένων. Σύντοµη επανάληψη (ΕΠΛ 035). Βασικές Δοµές Δεδοµένων Σύντοµη επανάληψη (ΕΠΛ 035). Περίληψη Γραµµικές Δοµές Δεδοµένων Πίνακες Λίστες Στοίβες Ουρές Γράφοι Δέντρα Γραµµικές Δοµές Πίνακας (array) A[0] A[1] A[2] A[ ] A[n-1] Προκαθορισµένη

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

Αλγόριθμοι Τυφλής Αναζήτησης

Αλγόριθμοι Τυφλής Αναζήτησης Τεχνητή Νοημοσύνη 04 Αλγόριθμοι Τυφλής Αναζήτησης Αλγόριθμοι Τυφλής Αναζήτησης (Blind Search Algorithms) Εφαρμόζονται σε προβλήματα στα οποία δεν υπάρχει πληροφορία που να επιτρέπει αξιολόγηση των καταστάσεων.

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

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 6 Μαΐου 2015 1 / 42 Εύρεση Ελάχιστου Μονοπατιού

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

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα Δένδρα Δένδρα Ειδική κατηγορία γραφημάτων: συνεκτικά γραφήματα που δεν περιέχουν απλά κυκλώματα [1857] Arthur Cayley: για απαρίθμηση ορισμένων ειδών χημικών ενώσεων Χρησιμοποιούνται σε πληθώρα προβλημάτων,

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

(elementary graph algorithms)

(elementary graph algorithms) (elementary graph algorithms) Παύλος Εφραιμίδης 1 περιεχόμενα γραφήματα αναπαραστάσεις οριζόντια διερεύνηση καθοδική διερεύνηση 2 ΓΡΑΦΉΜΑΤΑ 3 αναπαράσταση δύο καθιερωμένοι τρόποι: πίνακας γειτνίασης συλλογή

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

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

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

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

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

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

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