Δένδρα. συνεκτικό μη κατευθυνόμενο γράφημα που δεν περιέχει απλά κυκλώματα

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

Download "Δένδρα. συνεκτικό μη κατευθυνόμενο γράφημα που δεν περιέχει απλά κυκλώματα"

Transcript

1 Δένδρα

2 Δένδρα Ειδική κατηγορία γραφημάτων: συνεκτικά γραφήματα που δεν περιέχουν απλά κυκλώματα [1857] Arthur Cayley: για απαρίθμηση ορισμένων ειδών χημικών ενώσεων Χρησιμοποιούνται σε πληθώρα προβλημάτων, όπως: Εντοπισμός αντικειμένων σε λίστα Κωδικοποίηση (π.χ., Huffman) για κατασκευή αποδοτικών κωδίκων για μετάδοση και αποθήκευση δεδομένων Μελέτη παιχνιδιών (π.χ., ντάμα, σκάκι, κτλ) για καθορισμό νικητήριων στρατηγικών Κατασκευή μοντέλων διαδικασιών που εκτελούνται με χρήση σειράς αποφάσεων Συστηματική εξερεύνηση κορυφών γραφημάτων: αναζήτηση κατά πλάτος (breadth-first search) και κατά βάθος (depth-first search)

3 Δένδρα συνεκτικό μη κατευθυνόμενο γράφημα που δεν περιέχει απλά κυκλώματα

4 Δένδρα συνεκτικό μη κατευθυνόμενο γράφημα που δεν περιέχει απλά κυκλώματα

5 Δένδρα συνεκτικό μη κατευθυνόμενο γράφημα που δεν περιέχει απλά κυκλώματα

6 Δάση Γραφήματα που δεν περιέχουν απλά κυκλώματα ΑΛΛΑ μπορεί να μην είναι συνεκτικά Κάθε μια από τις συνεκτικές τους συνιστώσες είναι δένδρο Ένα γράφημα με 3 συνεκτικές συνιστώσες

7 Μη κατευθυνόμενο γράφημα Τ είναι δένδρο υπάρχει μοναδικό απλό μονοπάτι μεταξύ 2 οποιωνδήποτε κορυφών του Απόδειξη (μέρος Ι) Αν Τ δένδρο Τ συνεκτικό γράφημα χωρίς απλά κυκλώματα Έστω ότι x και y κορυφές του Τ Επειδή Τ συνεκτικό υπάρχει απλό μονοπάτι μεταξύ των x και y Το μονοπάτι αυτό είναι μοναδικό Αν ΔΕΝ ήταν θα δημιουργούταν κύκλωμα

8 Μη κατευθυνόμενο γράφημα Τ είναι δένδρο υπάρχει μοναδικό απλό μονοπάτι μεταξύ 2 οποιωνδήποτε κορυφών του Απόδειξη (μέρος ΙΙ) Αν υπάρχει μοναδικό μονοπάτι μεταξύ 2 οποιωνδήποτε κορυφών του Τ Τ συνεκτικό αφού υπάρχει διαδρομή μεταξύ οποιωνδήποτε 2 κορυφών του Επιπλέον, το Τ δε μπορεί να περιέχει απλά κυκλώματα Αν το Τ περιείχε απλό κύκλωμα με τις κορυφές x και y θα υπήρχαν 2 απλά μονοπάτια μεταξύ των κορυφών αυτών (άτοπο)

9 Ριζωμένο δένδρο Ρίζα του δένδρου: μία συγκεκριμένη κορυφή του Υπάρχει μοναδικό μονοπάτι από τη ρίζα προς οποιαδήποτε κορυφή του δένδρου υπάρχει κατεύθυνση από τη ρίζα προς τις υπόλοιπες κορυφές Δένδρο + ρίζα του = κατευθυνόμενο γράφημα που καλείται ριζωμένο δένδρο

10 Ριζωμένο δένδρο Μπορούμε να αλλάξουμε δένδρο χωρίς ρίζα σε ριζωμένο δένδρο Επιλέγοντας διαφορετική ρίζα λαμβάνουμε διαφορετικό ριζωμένο δένδρο Κατά το σχεδιασμό: Η ρίζα τοποθετείται στο ψηλότερο σημείο Παραλείπονται τα βέλη γιατί η κατεύθυνση υπονοείται

11 Δένδρα Η ορολογία προέρχεται από βοτανική και γενεολογία ρίζα Γονέας της h Απόγονοι της b Παιδί της g Αδέλφια της h Φύλλα (δεν έχουν παιδιά)_

12 Δένδρα Η ορολογία προέρχεται από βοτανική και γενεολογία Εσωτερικές κορυφές (έχουν παιδιά) Υποδένδρο

13 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

14 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

15 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

16 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

17 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

18 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

19 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

20 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

21 Παράδειγμα Να βρεθεί Ο γονέας της c Τα παιδιά της g Τα αδέλφια της h Όλοι οι πρόγονοι της e Όλοι οι απόγονοι της b Όλες οι εσωτερικές κορυφές Όλα τα φύλλα Ποιο είναι το υποδένδρο με ρίζα στην κορυφή b;

22 Ριζωμένα δένδρα τάξης m Κάθε εσωτερική κορυφή δεν έχει περισσότερα από m παιδιά Το δένδρο ονομάζεται πλήρες αν κάθε εσωτερική κορυφή έχει ακριβώς m παιδιά m=2: πλήρες δυαδικό δένδρο (complete binary tree)

23 Ριζωμένα δένδρα τάξης m Κάθε εσωτερική κορυφή δεν έχει περισσότερο από m παιδιά Το δένδρο ονομάζεται πλήρες αν κάθε εσωτερική κορυφή έχει ακριβώς m παιδιά m=2: πλήρες δυαδικό δένδρο (complete binary tree)

24 Τα δένδρα ως μοντέλα Τα δένδρα χρησιμοποιούνται για να μοντελοποιήσουν ιεραρχία Χημεία Οργανισμοί Σύστημα αρχείων Η/Υ

25 Τα δένδρα ως μοντέλα: χημεία [1857] Arthur Cayley (Κέλι) Απαρίθμηση των ισομερών χημικών ενώσεων που ονόμασε κορεσμένους υδρογονάνθρακες (CnH2n+2) Βουτάνιο Ισοβουτάνιο

26 Τα δένδρα ως μοντέλα: παράσταση οργανισμών

27 Τα δένδρα ως μοντέλα: συστήματα αρχείων Η/Υ φάκελοι αρχεία

28 Δένδρο με n κορυφές έχει n-1 ακμές Απόδειξη με επαγωγή ΒΑΣΙΚΟ ΒΗΜΑ: όταν n=1, δένδρο με 1 κορυφή δεν έχει ακμές (άρα πλήθος ακμών = 0) ΕΠΑΓΩΓΙΚΗ ΥΠΟΘΕΣΗ: Έστω ότι ισχύει πως κάθε δένδρο με k κορυφές έχει k-1 ακμές, όπου k θετικός ακέραιος ΕΠΑΓΩΓΙΚΟ ΒΗΜΑ: Έστω δένδρο με k+1 κορυφές. Διαλέγουμε αυθαίρετο φύλλο του και διαγράφουμε το φύλλο αυτό και την ακμή που το συνδέει με το γονέα του λαμβάνουμε ένα νέο γράφημα με k κορυφές λόγω Ε.Υ. το γράφημα αυτό θα έχει k-1 ακμές Επιπλέον, το γράφημα αυτό παραμένει συνεκτικό και χωρίς κύκλους είναι δένδρο Προσθέτοντας ξανά το φύλλο και την ακμή που απομακρύναμε πριν έχουμε δένδρο με k+1 κορυφές και k-1+1=k ακμές

29 Πλήρες δένδρο τάξης m με i εσωτερικές κορυφές περιέχει n=m*i+1 κορυφές ΓΙΑΤΙ; Κάθε κορυφή εκτός από τη ρίζα είναι παιδί κάποιας εσωτερικής κορυφής Υπάρχουν m*i τέτοιες κορυφές + ρίζα = m*i +1 κορυφές συνολικά

30 Ύψος δένδρου Επίπεδο μιας κορυφής σε ένα ριζωμένο δένδρο: το μήκος της μοναδικής διαδρομής από τη ρίζα προς την κορυφή αυτή Επίπεδο ρίζας = 0 Ύψος ριζωμένο δένδρου: το μέγιστο των επιπέδων των κορυφών Ύψος = 4

31 Υπάρχουν το πολύ m h φύλλα σε δένδρο τάξης m ύψους h m m 2 m 3 Για πλήρες δυαδικό δένδρο με ύψος h και k φύλλα ισχύει k=2 h h=logk logk: λογάριθμος του k - σε ποια δύναμη πρέπει να υψώσω το 2 για να πάρω k; Π.χ., log16=4 γιατί 2 4 =16

32 Πλήρες δυαδικό δένδρο με Ν φύλλα έχει 2*Ν-1 κορυφές 1=2 0 2=2 1 4=2 2 8=2 3 Επίπεδο 1 Επίπεδο 2 Επίπεδο 3 Επίπεδο 4 Ν Επίπεδο logn Συνολικά, υπάρχουν Ν κορυφές = logν Έχουμε άθροισμα των logn πρώτων όρων γεωμετρικής προόδου με λόγο 2 = 1-2 logn+1 /1-2=2 logn+1-1= 2*2 logn -1=2*N-1

33 Άσκηση: ποια από τα γραφήματα είναι δένδρα;

34 Άσκηση: ποια από τα γραφήματα είναι δένδρα;

35 Άσκηση

36 Άσκηση Να αποδειχθεί ότι απλό γράφημα είναι δένδρο αν και μόνον αν είναι συνεκτικό αλλά η διαγραφή οποιασδήποτε ακμής του δίνει γράφημα που δεν είναι συνεκτικό (α) Αν έχουμε γράφημα που είναι δένδρο είναι συνεκτικό και έχει μοναδικό μονοπάτι μεταξύ οποιωνδήποτε 2 κορυφών του Απομακρύνοντας 1 αυθαίρετη ακμή δεν υπάρχει πλέον μονοπάτι μεταξύ των κορυφών στα άκρα της ακμής αυτής το γράφημα που προκύπτει ΔΕΝ είναι πλέον συνεκτικό (β) Έστω ότι έχουμε συνεκτικό γράφημα και η διαγραφή οποιασδήποτε ακμής του δίνει γράφημα που δεν είναι συνεκτικό μεταξύ οποιωνδήποτε 2 κορυφών του υπάρχει μοναδικό μονοπάτι το εν λόγω γράφημα είναι δένδρο

37 Ασκήσεις Πόσες ακμές έχει δένδρο με κορυφές; =9.999 ακμές Πόσες ακμές έχει πλήρες δένδρο τάξης 5 με 100 εσωτερικές κορυφές; 5*100=500 ακμές Πόσες ακμές έχει πλήρες δυαδικό δένδρο με εσωτερικές κορυφές; 2*1.000=2.000 ακμές Είτε να σχεδιαστεί πλήρες δυαδικό δένδρο με 100 φύλλα και ύψος 7, είτε να αποδειχθεί ότι δεν υπάρχει αυτό το δένδρο Επειδή =128 δε μπορεί να κατασκευαστεί το ζητούμενο δένδρο

38 Εφαρμογές: δένδρα δυαδικής αναζήτησης (binary search trees) Αναζήτηση αντικειμένων σε ταξινομημένο κατάλογο Χρησιμοποιούμε δένδρο δυαδικής αναζήτησης Δυαδικό δένδρο Κάθε παιδί κορυφής ορίζεται σα δεξιό ή σαν αριστερό παιδί Καμία κορυφή δεν έχει περισσότερα από ένα δεξιό ή ένα αριστερό παιδί Κάθε κορυφή ονομάζεται με ένα κλειδί που είναι ένα από τα αντικείμενα

39 Εφαρμογές: δένδρα δυαδικής αναζήτησης (binary search trees) Αναδρομική διαδικασία κατασκευής δένδρου δυαδικής αναζήτησης Ξεκινάμε με δένδρο που περιέχει μία μόνο κορυφή: τη ρίζα το πρώτο αντικείμενο του καταλόγου ονομάζεται κλειδί της ρίζας Για να προσθέσουμε νέο αντικείμενο, το συγκρίνουμε με τα κλειδιά των κορυφών που ήδη βρίσκονται στο δένδρο ξεκινώντας από τη ρίζα και πηγαίνοντας προς τα αριστερά (εφόσον υπάρχει αριστερό παιδί) αν το αντικείμενο είναι μικρότερο από το κλειδί της αντίστοιχης κορυφής Αν δεν υπάρχει αριστερό παιδί, εισάγουμε νέα κορυφή με το αντικείμενο σαν κλειδί της τα δεξιά (εφόσον υπάρχει δεξιό παιδί) αν το αντικείμενο είναι μεγαλύτερο από το κλειδί της αντίστοιχης κορυφής Αν δεν υπάρχει δεξιό παιδί, εισάγουμε νέα κορυφή με το αντικείμενο σαν κλειδί της

40 Εφαρμογές: δένδρα δυαδικής αναζήτησης (binary search trees) Σχηματισμός δένδρου δυαδικής αναζήτησης για τις λέξεις mathematics, physics, geography, zoology, meteorology, geology, psychology, chemistry με χρήση αλφαβητικής σειράς

41 Εφαρμογές: δένδρα αποφάσεων (decision trees) Κατασκευή μοντέλων προβλημάτων όπου μια σειρά αποφάσεων οδηγεί σε λύση Π.χ., εντοπισμός αντικειμένων σε βάση δεδομένων μέσω σειράς συγκρίσεων Κάθε σύγκριση υποδεικνύει αν έχει εντοπιστεί το αντικείμενο ή αν θα πρέπει να αναζητηθεί στο αριστερό ή δεξί υποδένδρο Δένδρο αποφάσεων: ριζωμένο δένδρο όπου Κορυφή = απόφαση Υποδένδρα κορυφής = δυνατά αποτελέσματα της απόφασης αυτής Δυνατές λύσεις = μονοπάτια προς τα φύλλα Χρησιμοποιούμε δένδρο δυαδικής αναζήτησης Δυαδικό δένδρο Κάθε παιδί κορυφής ορίζεται σα δεξιό ή σαν αριστερό παιδί Καμία κορυφή δεν έχει περισσότερα από ένα δεξιό ή ένα αριστερό παιδί Κάθε κορυφή ονομάζεται με ένα κλειδί που είναι ένα από τα αντικείμενα

42 Εφαρμογές: δένδρα αποφάσεων (decision trees) Έστω ότι υπάρχουν 7 νομίσματα που όλα έχουν το ίδιο βάρος και 1 κάλπικο νόμισμα που ζυγίζει λιγότερο από τα άλλα. Πόσες ζυγίσεις χρειάζονται με μια ζυγαριά για να προσδιορίσουμε ποιο από τα 8 νομίσματα είναι το κάλπικο; Κάθε ζύγιση έχει 3 πιθανά αποτελέσματα Και οι δύο δίσκοι της ζυγαριάς δείχνουν το ίδιο βάρος Ο αριστερά δίσκος δείχνει μεγαλύτερο βάρος Ο δεξιά δίσκος δείχνει μεγαλύτερο βάρος το δένδρο αποφάσεων για το πρόβλημα είναι τάξης 3 Στο δένδρο αποφάσεων υπάρχουν 8 φύλλα που αναπαριστούν τα 8 δυνατά αποτελέσματα: 1 από τα 8 νομίσματα είναι το κάλπικο Το μέγιστο πλήθος απαιτούμενων ζυγίσεων είναι το ύψος, h, ενός πλήρους δένδρου τάξης 3 με 8 φύλλα Ισχύει h άνω ακέραιο μέρος log τάξη δένδρουφύλλα h= άνω ακέραιο μέρος log38 = άνω ακέραιο μέρος 1, =2 Θα χρειαστούν τουλάχιστον 2 ζυγίσεις

43 Εφαρμογές: δένδρα αποφάσεων (decision trees) Έστω ότι υπάρχουν 7 νομίσματα που όλα έχουν το ίδιο βάρος και 1 κάλπικο νόμισμα που ζυγίζει λιγότερο από τα άλλα. Πόσες ζυγίσεις χρειάζονται με μια ζυγαριά για να προσδιορίσουμε ποιο από τα 8 νομίσματα είναι το κάλπικο; Πώς γίνονται οι ζυγίσεις αυτές;

44 Εφαρμογές: δένδρα αποφάσεων (decision trees) Ειδική περίπτωση: Δυαδικές συγκρίσεις συγκρίνω 2 στοιχεία κάθε φορά Δένδρο αποφάσεων για σύγκριση των στοιχείων της λίστας a,b,c

45 Εφαρμογές: κωδικοποίηση Huffman Δεδομένο: συχνότητες εμφάνισης συνόλου χαρακτήρων (π.χ., σε ένα κείμενο) Ζητούμενο: ανάθεση δυαδικών ακολουθιών (με 0 και 1) στους χαρακτήρες ώστε να ελαχιστοποιείται συνολικά το πλήθος των χρησιμοποιούμενων συμβόλων (0/1) Λύση: προτάθηκε από το David Huffman to 1951 όταν ήταν μεταπτυχιακός φοιτητής στο ΜΙΤ Εγγυάται το ελάχιστο μέσο πλήθος bit / σύμβολο DAVID A. HUFFMAN ( )

46 Εφαρμογές: κωδικοποίηση Huffman Ξεκινάμε από τη διαταγμένη (από το μικρότερο στο μεγαλύτερo) λίστα των συμβόλων με βάση τις συχνότητες εμφάνισής τους Ενώνουμε τα δύο αριστερότερα στοιχεία σε ένα νέο δένδρο όπου η ρίζα έχει τιμή ίση με το άθροισμα των τιμών των παιδιών της Το αριστερό παιδί είναι ο χαρακτήρας με τη μεγαλύτερη συχνότητα και το δεξιό παιδί είναι ο χαρακτήρας με τη μικρότερη συχνότητα Η ακμή μεταξύ ρίζας και αριστερού παιδιού επιγράφεται με 0 ενώ η ακμή μεταξύ ρίζας και δεξιού παιδιού επιγράφεται με 1 Τοποθετούμε το νέο κατασκεύασμα-δένδρο στη σωστή θέση στην λίστα με τα στοιχεία συμβόλων Σταματάμε όταν έχει σχηματιστεί 1 μοναδικό δένδρο Διαβάζοντας τις επιγραφές του μονοπατιού που οδηγεί από τη ρίζα σε κάθε σύμβολο λαμβάνουμε τη δυαδική κωδικοποίηση του συμβόλου αυτού

47 Μέσο πλήθος bit/σύμβολο=2,45

48 Εφαρμογές: δένδρα παιγνίων Δένδρα παιγνίων: δένδρα που χρησιμοποιούνται για την ανάλυση παιχνιδιών όπως η τρίλιζα, η ντάμα, το σκάκι, κτλ Υπάρχουν 2 παίκτες που παίζουν ο ένας μετά τον άλλον (ακολουθιακά) Κάθε παίκτης γνωρίζει τις κινήσεις που έκανε ο άλλος χωρίς να μαντεύει (δεν υπεισέρχεται η τύχη) Κορυφές: θέσεις που μπορεί να βρίσκεται το παιχνίδι καθώς εξελίσσεται Για οικονομία χώρου, συμμετρικές θέσεις του παιχνιδιού συμπεριλαμβάνονται στην ίδια κορυφή Κορυφές άρτιων επιπέδων: κουτάκια Στα άρτια επίπεδα παίζει ο πρώτος παίκτης Κορυφές περιττών επιπέδων: κύκλοι Στα περιττά επίπεδα παίζει ο δεύτερος παίκτης Ακμές: έγκυρες κινήσεις μεταξύ των θέσεων αυτών Ρίζα: θέση εκκίνησης Φύλλα: τελικές θέσεις παιχνιδιού Αναθέτουμε τιμή σε κάθε φύλλο που δείχνει τη βαθμολογία του πρώτου παίκτη όταν το παιχνίδι τελειώνει στη θέση αυτή

49 Εφαρμογές: δένδρα παιγνίων

50 Άσκηση Να κατασκευαστεί δένδρο δυαδικής αναζήτησης για τις λέξεις: banana, peach, apple, pear, coconut, mango, papaya με χρήση αλφαβητικής σειράς

51 Άσκηση Πόσες ζυγίσεις με ζυγαριά χρειάζονται για να βρεθεί το κάλπικο ανάμεσα σε 4 νομίσματα, αν το κάλπικο νόμισμα είναι είτε ελαφρύτερο είτε βαρύτερο από τα άλλα; ζυγίσεις Περιγράψτε τρόπο (δηλ., αλγόριθμο) εντοπισμού του κάλπικου νομίσματος Συγκρίνω τα 1 και = 1-3 = = Το 3 κάλπικο Το 2 κάλπικο Το 4 κάλπικο Το 1 κάλπικο

52 Άσκηση a: 11; b: 101; c: 100; d: 01; e: 00; 2.25 bits

53 Άσκηση

54 Γεννητικά δέντρα (Spanning Trees) Το γράφημα δείχνει το οδικό δίκτυο στην πολιτεία Maine των ΗΠΑ Για να διατηρούνται ανοιχτοί οι δρόμοι το χειμώνα πρέπει να εκχιονίζονται συχνά Η υπηρεσία πολιτικής προστασίας θέλει να καθαρίζει τους λιγότερους δυνατούς δρόμους ώστε να υπάρχει πάντα σύνδεση μεταξύ οποιωνδήποτε 2 πόλεων Πώς γίνεται αυτό;

55 Γεννητικά δέντρα (Spanning Trees) Τουλάχιστον 5 δρόμοι πρέπει να εκχιονιστούν για να υπάρχει πάντα επικοινωνία μεταξύ οποιωνδήποτε 2 πόλεων Το υπογράφημα που δείχνει αυτούς τους δρόμους είναι δέντρο αφού είναι συνεκτικό και περιέχει 6 κορυφές και 5 ακμές Το πρόβλημα λύθηκε με ένα συνεκτικό υπογράφημα με ελάχιστο πλήθος ακμών που περιέχει όλες τις κορυφές του αρχικού γραφήματος Ένα τέτοιο γράφημα πρέπει να είναι δέντρο

56 Γεννητικά δέντρα (Spanning Trees) Έστω G απλό γράφημα Ένα γεννητικό δέντρο (spanning tree) στο G είναι ένα υπογράφημα του G που είναι δέντρο και περιέχει όλες τις κορυφές του G Απλό γράφημα που περιέχει spanning tree είναι συνεκτικό αφού στο spanning tree υπάρχει μονοπάτι μεταξύ οποιωνδήποτε 2 κορυφών Ισχύει και το αντίστροφο: κάθε συνεκτικό απλό γράφημα περιέχει ένα spanning tree

57 Παράδειγμα Να βρεθεί spanning tree στο παρακάτω απλό γράφημα Χ Χ Χ

58 Παράδειγμα Να βρεθεί spanning tree στο παρακάτω απλό γράφημα Υπάρχουν κι άλλα spanning trees για το G

59 Απλό γράφημα είναι συνεκτικό αν και μόνον αν περιέχει ένα spanning tree Έστω απλό γράφημα G που περιέχει ένα spanning tree T το T περιέχει όλες τις κορυφές του G υπάρχει μονοπάτι μεταξύ οποιωνδήποτε 2 κορυφών του T Επειδή το T είναι υπογράφημα του G στο G υπάρχει μονοπάτι μεταξύ οποιωνδήποτε 2 κορυφών του το G είναι συνεκτικό

60 Απλό γράφημα είναι συνεκτικό αν και μόνον αν περιέχει ένα spanning tree Έστω G απλό γράφημα που είναι συνεκτικό Αν το G δεν είναι δέντρο περιέχει κύκλωμα Αφαιρούμε μια ακμή e από το κύκλωμα Το υπογράφημα που προκύπτει έχει 1 ακμή λιγότερη αλλά περιέχει όλες τις κορυφές του G και είναι συνεκτικό αφού κάθε ζευγάρι κορυφών που συνδέεται με μονοπάτι που περιέχει την e συνδέεται και με μονοπάτι που δεν την περιέχει Αν το νέο υπογράφημα δεν είναι δέντρο περιέχει κύκλωμα Όπως πριν, αφαιρούμε μια ακμή e1 από το κύκλωμα και συνεχίζουμε έτσι έως ότου δεν υπάρχει κύκλωμα Αυτό είναι δυνατόν αφού υπάρχει πεπερασμένο πλήθος ακμών στο γράφημα Η διαδικασία τερματίζει όταν δεν υπάρχουν κυκλώματα Τελικά, παράγεται δέντρο αφού το γράφημα παραμένει συνεκτικό μετά την απομάκρυνση των ακμών Το δέντρο αυτό είναι spanning tree αφού περιέχει όλες τις κορυφές του G

61 Spanning trees: ΙP multicasting Τα spanning trees είναι σημαντικά για multicasting σε δίκτυα IP Για να σταλούν δεδομένα από κάποιον υπολογιστή-πηγή σε πολλούς υπολογιστές-προορισμούς τα δεδομένα μπορούν να σταλούν χωριστά σε κάθε υπολογιστή-προορισμό Η διαδικασία λέγεται unicasting και είναι αναποδοτική γιατί πολλά αντίγραφα των ίδιων δεδομένων μεταδίδονται στο δίκτυο Για να γίνει αποδοτικότερη η διαδικασία χρησιμοποιείται IP multicasting IP multicasting: ο υπολογιστής-πηγή στέλνει ένα αντίγραφο των δεδομένων στο δίκτυο και το αντίγραφο τελικά προωθείται σε όλους τους υπολογιστές-προορισμούς

62 Spanning trees: ΙP multicasting Για να ληφθούν τα δεδομένα όσο γρηγορότερα γίνεται δεν πρέπει να υπάρχουν ανακυκλώσεις (δηλ., κύκλοι ή κυκλώματα) στο μονοπάτι που ακολουθούν τα δεδομένα στο δίκτυο όταν τα δεδομένα φτάσουν σε κάποιον υπολογιστή (router) δεν πρέπει να επιστρέψουν ποτέ σε αυτόν Για την αποφυγή ανακυκλώσεων χρησιμοποιούνται αλγόριθμοι που κατασκευάζουν ένα spanning tree στο γράφημα που περιέχει τον υπολογιστή-πηγή, ενδιάμεσους υπολογιστές (routers) και τους υπολογιστές-προορισμούς ως κορυφές και τους συνδέσμους μεταξύ υπολογιστών ως ακμές Ρίζα του spanning tree είναι ο υπολογιστής-πηγή Οι υπολογιστές-προορισμοί είναι τα φύλλα του δέντρου

63 Πώς βρίσκουμε spanning trees σε γραφήματα; Αντί να παράγουμε spanning trees σβήνοντας ακμές (μη αποδοτικό γιατί πρέπει να εντοπιστούν όλα τα απλά κυκλώματα) χτίζουμε spanning trees προσθέτοντας ακμές DFS (Depth First Search) BFS (Breadth First Search)

64 Πώς διασχίζουμε ένα γράφημα; Τρόπος 1: Ξεκινάμε από μία κορυφή και μέσω επίσκεψης της γειτονιάς επισκεπτόμαστε ολόκληρο το γράφημα: Αναζήτηση κατά πλάτος (Breadth-First Search-BFS) Τρόπος 2: Ξεκινάμε από μία κορυφή και επισκεπτόμαστε το πρώτο της παιδί και προχωράμε μέχρι να φτάσουμε σε κορυφή που δεν έχει παιδιά μετά επιστρέφουμε στην πρώτη κορυφή που δεν έχουμε επεξεργαστεί και κάνουμε το ίδιο - Αναζήτηση κατά βάθος (Depth- First Search-DFS)

65 Κατασκευή spanning tree με DFS Διαλέγουμε αυθαίρετη κορυφή του γραφήματος να είναι η ρίζα του spanning tree Σχηματίζουμε μονοπάτι ξεκινώντας από τη ρίζα και προσθέτοντας κορυφές και ακμές ώστε κάθε ακμή που προστίθεται να πρόσκειται στην τελευταία κορυφή στο μονοπάτι και σε κάποια κορυφή εκτός του ήδη σχηματισμένου μονοπατιού συνεχίζοντας όσο γίνεται Αν το μονοπάτι που προκύπτει περνάει από όλες τις κορυφές του γραφήματος αποτελεί ένα spanning tree Αν το μονοπάτι που προκύπτει δεν περνάει από όλες τις κορυφές του γραφήματος πρέπει να προστεθούν και άλλες κορυφές και ακμές Επιστρέφουμε στην προτελευταία κορυφή του μονοπατιού και ξεκινώντας από αυτήν - αν γίνεται - χτίζουμε ένα νέο μονοπάτι που περνάει από κορυφές που δεν έχουν επισκεφθεί ακόμα Αν αυτό δεν γίνεται, επιστρέφουμε στην προ-προτελευταία κορυφή και ξαναδοκιμάζουμε Συνεχίζουμε με τον ίδιο τρόπο έως ότου δεν μπορούν να προστεθούν άλλες ακμές Επειδή το γράφημα είναι συνεκτικό και έχει πεπερασμένο πλήθος ακμών η διαδικασία τερματίζει με την παραγωγή ενός spanning tree Η DFS αναζήτηση λέγεται και backtracking, γιατί ο αλγόριθμος επιστρέφει σε κορυφές που έχει ήδη επισκεφθεί για να προσθέσει νέα μονοπάτια

66 Κατασκευή spanning tree με DFS

67 Κατασκευή spanning tree με DFS Time complexity: Ο(e) ή Ο(n 2 ) e= E, n= V Για να χτίσουμε το spanning tree επισκεπτόμαστε κάθε ακμή το πολύ 2 φορές Για κάθε γράφημα ισχύει: e n(n 1)/2 (ΓΙΑΤΙ;)

68 Κατασκευή spanning tree με ΒFS Διαλέγουμε αυθαίρετη κορυφή για να είναι η ρίζα του spanning tree που θα κατασκευάσουμε Στη συνέχεια, προσθέτουμε στο spanning tree όλες τις ακμές που πρόσκεινται στην κορυφή αυτή Οι κορυφές που προστίθενται σε αυτό το βήμα διατάσσονται αυθαίρετα και αποτελούν κορυφές επιπέδου 1 στο spanning tree Για κάθε κορυφή επιπέδου 1 προσθέτουμε στο spanning tree κάθε προσκείμενη ακμή της εφόσον δεν δημιουργεί κύκλωμα Διατάσσουμε αυθαίρετα τα παιδιά κάθε κορυφής επιπέδου 1 τα οποία αποτελούν τις κορυφές επιπέδου 2 στο spanning tree Συνεχίζουμε με τον ίδιο τρόπο έως ότου προστεθούν όλες οι κορυφές του γραφήματος στο spanning tree Η διαδικασία τερματίζει αφού υπάρχει πεπερασμένο πλήθος ακμών στο γράφημα Παράγεται spanning tree αφού δημιουργήσαμε δέντρο που περιέχει όλες τις κορυφές του γραφήματος

69 Κατασκευή spanning tree με ΒFS

70 Κατασκευή spanning tree με ΒFS Time complexity: Ο(e) ή Ο(n 2 ) e= E, n= V Για να χτίσουμε το spanning tree επισκεπτόμαστε κάθε ακμή το πολύ 2 φορές Για κάθε γράφημα ισχύει: e n(n 1)/2 (ΓΙΑΤΙ;)

71 Back tracking: Sums of Subsets Sums of Subsets Δίνεται σύνολο θετικών ακεραίων x 1, x 2,..., x n Ζητείται υποσύνολο αυτού του συνόλου ακεραίων με έχει άθροισμα ίσο με M Πώς μπορούμε να χρησιμοποιήσουμε backtracking για να λύσουμε το πρόβλημα αυτό;

72 Back tracking: Sums of Subsets Ξεκινάμε με μηδενικό άθροισμα Χτίζουμε το άθροισμα προσθέτοντας όρους Ένας ακέραιος από την ακολουθία προστίθεται ως όρος αν το άθροισμα παραμένει μικρότερο του M με την πρόσθεση του ακεραίου στο τρέχον άθροισμα Αν προκύψει το άθροισμα μεγαλύτερο από το ζητούμενο επιστρέφουμε (backtrack) και εξαιρούμε τον τελευταίο όρο του αθροίσματος

73 Back tracking: Sums of Subsets Μια λύση με χρήση backtracking στο πρόβλημα εύρεσης υποσυνόλου του {31, 27, 15, 11, 7, 5} με άθροισμα ίσο με 39

74 DFS σε κατευθυνόμενα γραφήματα Ο αλγόριθμος για DFS (και για BFS) μπορεί να τροποποιηθεί ώστε να τρέχει και για κατευθυνόμενα γραφήματα Ωστόσο, θα παράγει σαν αποτέλεσμα όχι απαραίτητα spanning tree αλλά σίγουρα spanning forest Προσθέτουμε ακμή εφόσον εξέρχεται από κάποια κορυφή που επισκεπτόμαστε και κατευθύνεται προς κορυφή που δεν έχει ακόμα προστεθεί Αν σε κάποιο βήμα του αλγορίθμου δεν υπάρχει ακμή που να ξεκινάει από κάποια ήδη προστεθειμένη κορυφή και να καταλήγει σε κορυφή που δεν έχει προστεθεί ακόμα, η νέα κορυφή που προστίθεται αποτελεί τη ρίζα ενός νέου δέντρου στο spanning forest

75 DFS σε κατευθυνόμενα γραφήματα

76 Εφαρμογή DFS/BFS search στο Web Μηχανές Αναζήτησης - Web Spiders Για τη δημιουργία ευρετηρίων για τα websites, οι μηχανές αναζήτησης (π.χ., Google, Yahoo) εξερευνούν συστηματικά το Web ξεκινώντας από γνωστά sites Χρησιμοποιούν προγράμματα που λέγονται Web Spiders ή crawlers ή bots που επισκέπτονται websites και αναλύουν το περιεχόμενό τους Οι Web Spiders χρησιμοποιούν DFS και BFS για τη δημιουργία ευρετηρίων (indices) Οι Web pages και οι σύνδεσμοι μεταξύ τους μοντελοποιούνται με κατευθυνόμενο γράφημα που λέγεται Web graph Web pages κορυφές, σύνδεσμοι ακμές

77 Εφαρμογή DFS/BFS search στο Web Μηχανές Αναζήτησης - Web Spiders Με χρήση DFS, επιλέγεται μια αρχική Web page, ακολουθείται εφόσον υπάρχει - ένας σύνδεσμος (link) σε μια επόμενη Web page και μετά ένας σύνδεσμος σε μια άλλη Web page και η διαδικασία συνεχίζεται έως ότου δεν υπάρχουν άλλοι σύνδεσμοι Χρησιμοποιείται backtracking για την εξέταση συνδέσμων στο προηγούμενο επίπεδο Για πρακτικούς λόγους οι Web Spiders έχουν περιορισμούς στο βάθος της αναζήτησης Με χρήση BFS, επιλέγεται μια αρχική Web page, ακολουθείται εφόσον υπάρχει - ένας σύνδεσμος (link) σε μια επόμενη Web page, μετά ακολουθείται κάποιος άλλος σύνδεσμος στην αρχική σελίδα κ.ο.κ. μέχρι να εξαντληθούν όλοι οι σύνδεσμοι της αρχικής σελίδας Μετά ακολουθούνται οι σύνδεσμοι σε σελίδες του επόμενου επιπέδου κ.τ.λ.

78 Ελάχιστα Γεννητικά Δέντρα (Minimum Spanning Trees - MST) Μια εταιρεία σχεδιάζει να φτιάξει ένα δίκτυο για να συνδέσει τα 5 υπολογιστικά κέντρα της Κάθε ζευγάρι υπολογιστικών κέντρων μπορεί να συνδεθεί με μισθωμένη γραμμή Ποιες συνδέσεις πρέπει να επιλέξει ώστε να υπάρχει μονοπάτι ανάμεσα σε οποιαδήποτε 2 υπολογιστικά κέντρα και να ελαχιστοποιείται το συνολικό κόστος;

79 Ελάχιστα Γεννητικά Δέντρα (Minimum Spanning Trees - MST) Μπορούμε να λύσουμε το πρόβλημα βρίσκοντας ένα γεννητικό δέντρο τέτοιο ώστε το άθροισμα των βαρών των ακμών του να γίνεται ελάχιστο Ένα τέτοιο spanning tree λέγεται Minimum Spanning Tree - MST

80 Ελάχιστα Γεννητικά Δέντρα (Minimum Spanning Trees - MST)

81 Πώς βρίσκουμε Ελάχιστα Γεννητικά Δέντρα (MST) σε γραφήματα; Αλγόριθμος του Kruskal και αλγόριθμος του Prim Και οι 2 αλγόριθμοι κατασκευάζουν MST προσθέτοντας ακμές ελάχιστου βάρους από ακμές με συγκεκριμένη ιδιότητα που δεν έχουν ακόμα προστεθεί Και οι 2 αλγόριθμοι είναι άπληστοι Άπληστος αλγόριθμος είναι μια διαδικασία που κάνει τη βέλτιστη επιλογή σε κάθε βήμα Αλλά: βελτιστοποίηση σε κάθε βήμα δεν εγγυάται πάντα και βέλτιστη συνολική λύση Ωστόσο, αυτοί οι 2 αλγόριθμοι παράγουν βέλτιστες λύσεις

82 Αλγόριθμος Kruskal για εύρεση MST Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές

83 Αλγόριθμος Kruskal για εύρεση MST Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 EC=4 AC=4 BC=5 AB=6 BE=6 DE=7 AD=8 BD=8 CD=9

84 Αλγόριθμος Kruskal για εύρεση MST Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 AC=4 BC=5 AB=6 BE=6 DE=7 AD=8 BD=8 CD=9

85 Αλγόριθμος Kruskal για εύρεση MST Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 BC=5 AB=6 BE=6 DE=7 AD=8 BD=8 CD=9

86 Αλγόριθμος Kruskal για εύρεση MST Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 AB=6 BE=6 DE=7 AD=8 BD=8 CD=9

87 Αλγόριθμος Kruskal για εύρεση MST Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 (3) AB=6 BE=6 DE=7 AD=8 BD=8 CD=9

88 Αλγόριθμος Kruskal για εύρεση MST Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 (3) AB=6 (κύκλος) BE=6 (κύκλος) DE=7 AD=8 BD=8 CD=9

89 Αλγόριθμος Kruskal για εύρεση MST Βήμα 1: Διάταξε όλες τις ακμές σε αύξουσα σειρά ως προς το βάρος τους Βήμα 2: Διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο T (αν υπάρχουν περισσότερες από μία, διάλεξε τυχαία) Βήμα 3: Από τις ακμές που μένουν, διάλεξε αυτή με τα μικρότερο βάρος που δε σχηματίζει κύκλο και πρόσθεσέ την στο T Βήμα 4: Επανάλαβε το Βήμα 3 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ. μέχρι να συνδεθούν όλες οι κορυφές ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 (3) AB=6 (κύκλος) BE=6 (κύκλος) DE=7 (4) AD=8 BD=8 CD=9

90 Αλγόριθμος Kruskal για εύρεση MST Ο αλγόριθμος τερματίζει αφού: Έχουμε ST με n-1 (=5-1=4) ακμές, ή εναλλακτικά, Έχουμε ST που περιέχει όλες τις κορυφές του δοσμένου γραφήματος Παρατηρήστε ότι καμία από τις AD, BD, CD δε μπορεί έτσι κι αλλιώς να προστεθεί στο ST γιατί θα δημιουργούσε κύκλο Το MST που βρήκε περιέχει τις ακμές: ΑΕ (2), ΕC (4), BC (5), DE (=7) και έχει συνολικό βάρος =18 ΑΕ=2 (1) EC=4 (2) AC=4 (κύκλος) BC=5 (3) AB=6 (κύκλος) BE=6 (κύκλος) DE=7 (4) AD=8 BD=8 CD=9

91 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές

92 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές

93 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές

94 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές

95 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές

96 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές

97 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές

98 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές

99 Αλγόριθμος Prim για εύρεση MST Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Δες ποιες ακμές από κορυφές στο T συνδέονται με κορυφές εκτός του Τ και διάλεξε την ακμή με το μικρότερο βάρος να ανήκει στο Τ (αν υπάρχουν παραπάνω από μία, διάλεξε τυχαία) Βήμα 3: Επανάλαβε το Βήμα 2 μέχρι να υπάρχουν n-1 ακμές στο Τ δηλ., μέχρι να συνδεθούν όλες οι κορυφές MST: AE EC BC ED Συνολικό βάρος: 18

100 Αλγόριθμος Prim για εύρεση MST (με χρήση πίνακα) Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα

101 Αλγόριθμος Prim για εύρεση MST (με χρήση πίνακα) Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα

102 Αλγόριθμος Prim για εύρεση MST (με χρήση πίνακα) Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα

103 Αλγόριθμος Prim για εύρεση MST (με χρήση πίνακα) Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα

104 Αλγόριθμος Prim για εύρεση MST (με χρήση πίνακα) Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα

105 Αλγόριθμος Prim για εύρεση MST (με χρήση πίνακα) Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα

106 Αλγόριθμος Prim για εύρεση MST (με χρήση πίνακα) Βήμα 1: Διάλεξε αυθαίρετη κορυφή να είναι η πρώτη στο δέντρο T Βήμα 2: Αρίθμησε τη στήλη της νέας κορυφής στην κορυφαία γραμμή. Διάγραψε τη γραμμή του πίνακα που αντιστοιχεί στη νέα κορυφή Βήμα 3: Βρες το μικρότερο βάρος σε μη διαγραμμένες θέσεις σε στήλες που αντιστοιχούν σε κορυφές του Τ και κύκλωσέ το (αν υπάρχουν παραπάνω από ένα διάλεξε τυχαία). Η κυκλωμένη κορυφή είναι η επόμενη κορυφή του Τ Βήμα 4: Επανάλαβε τα Βήματα 2 και 3 μέχρι να διαγραφούν όλες οι γραμμές του πίνακα ΑΕ 2 ΕC 4 ΒC 5 DΕ 7 MST 18

107 Kruskal vs Prim: time complexity Για την εύρεση ελάχιστου γεννητικού δέντρου σε γράφημα με m ακμές και n κορυφές Ο αλγόριθμος του Kruskal απαιτεί O(mlog m) λειτουργίες Ο αλγόριθμος του Prim απαιτεί O(mlog n) λειτουργίες Σε αραιά (sparse) γραφήματα αποδοτικότερος είναι ο αλγόριθμος του Kruskal Το m είναι πολύ μικρότερο από n(n 1)/2

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

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

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

Δένδρα. συνεκτικό μη κατευθυνόμενο γράφημα που δεν περιέχει απλά κυκλώματα

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

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

Θέματα υπολογισμού στον πολιτισμό

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

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

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST) Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST) Γεννητικό δέντρο (Spanning Tree) Ένα γεννητικό δέντρο για ένα γράφημα G είναι ένα υπογράφημα του G που είναι δέντρο (δηλ., είναι συνεκτικό και δεν

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #7: Ελάχιστα Επικαλυπτικά Δένδρα, Αλγόριθμος Kruskal, Δομές Union-Find Άσκηση # 0 5 0 0 0

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

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

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

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

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι; Άπληστοι Αλγόριθμοι ΙΙI Αλγόριθμοι γραφημάτων Ελάχιστο Γεννητικό Δένδρο Παράδειγμα Κατασκευή δικτύων Οδικά, επικοινωνίας Έχουμε ένα συνεκτικό γράφημα (V,E) και ένας βάρος we σε κάθε ακμή e. Να βρεθεί υποσύνολο

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

Ελάχιστο Συνδετικό Δέντρο

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

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

Ελάχιστο Συνδετικό Δέντρο

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

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

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα μονοδρόμησης (The One-Way Street Problem) Το πρόβλημα Σχετίζεται με τη διαχείριση της κίνησης οχημάτων στους δρόμους Αν δεν υπήρχαν καθυστερήσεις στην κίνηση στις πόλεις Αποφυγή σπατάλης ενέργειας

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

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

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

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

Ελάχιστο Συνδετικό έντρο

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

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

Ελάχιστο Συνδετικό Δέντρο

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

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

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

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

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

Θεωρία Γραφημάτων 6η Διάλεξη

Θεωρία Γραφημάτων 6η Διάλεξη Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη

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

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

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

Ελάχιστο Συνδετικό έντρο

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

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

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

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

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

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

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

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

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

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,

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

Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα

Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα Ασύρματα δίκτυα τύπου ad hoc Τοπικά (LAN) ήάλλαμικράδίκτυα με ασύρματες συνδέσεις οι συσκευές αποτελούν μέρος του δικτύου μόνο

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

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

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

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

Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα

Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα Ασύρματα δίκτυα τύπου ad hoc Τοπικά (LAN) ή άλλα μικρά δίκτυα με ασύρματες συνδέσεις οι συσκευές αποτελούν μέρος του δικτύου

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

2 ) d i = 2e 28, i=1. a b c

2 ) d i = 2e 28, i=1. a b c ΑΣΚΗΣΕΙΣ ΘΕΩΡΙΑΣ ΓΡΑΦΩΝ (1) Εστω G απλός γράφος, που έχει 9 κορυφές και άθροισμα βαθμών κορυφών μεγαλύτερο του 7. Αποδείξτε ότι υπάρχει μια κορυφή του G με βαθμό μεγαλύτερο ή ίσο του 4. () Αποδείξτε ότι

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

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

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

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

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 Άσκηση

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

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα ΔΕΝΔΡΑ Σταύρος Δ. Νικολόπουλος 2017-18 www.cs.uoi.gr/~stavros Εισαγωγή Ένα γράφημα G είναι δένδρο αν: 1. Είναι συνδεδεμένο και δεν έχει κύκλους.

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

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

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

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

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

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

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

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια

Graph Algorithms. Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Graph Algorithms Παρουσίαση στα πλαίσια του μαθήματος «Παράλληλοι Αλγόριθμοι» Καούρη Γεωργία Μήτσου Βάλια Περιεχόμενα Μεταβατικό Κλείσιμο Συνεκτικές συνιστώσες Συντομότερα μονοπάτια Breadth First Spanning

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

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

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων

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

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

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ 3 η Διάλεξη Μονοπάτια και Κύκλοι Μήκη και αποστάσεις Κέντρο και μέσο γράφου. Ακτίνα και Διάμετρος Δυνάμεις Γραφημάτων Γράφοι Euler.

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

Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα

Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα Αλγόριθμοι ελαχιστοποίησης κατανάλωσης ενέργειας σε ασύρματα αδόμητα δίκτυα Ασύρματα δίκτυα τύπου ad hoc Τοπικά (LAN) ή άλλα μικρά δίκτυα με ασύρματες συνδέσεις οι συσκευές αποτελούν μέρος του δικτύου

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

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

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

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

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

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

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

Θεωρία Γραφημάτων 5η Διάλεξη

Θεωρία Γραφημάτων 5η Διάλεξη Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Τομέας Μαθηματικών Φεβρουάριος 2017 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη

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

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

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

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

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

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

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες

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

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

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

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

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

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

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

Βασικές Έννοιες Θεωρίας Γραφημάτων

Βασικές Έννοιες Θεωρίας Γραφημάτων Βασικές Έννοιες Θεωρίας Γραφημάτων Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

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

Ασκήσεις στους Γράφους. 2 ο Σετ Ασκήσεων. Δέντρα

Ασκήσεις στους Γράφους. 2 ο Σετ Ασκήσεων. Δέντρα Ασκήσεις στους Γράφους 2 ο Σετ Ασκήσεων Δέντρα Ασκηση 1 η Ένας γράφος G είναι δέντρο αν και μόνο αν κάθε δυο κορυφές του συνδέονται με ένα μοναδικό μονοπάτι. Υποθέτουμε ότι ο γράφος G είναι δέντρο. Έστω

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

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

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

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

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

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

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

Γράφοι: κατευθυνόμενοι και μη

Γράφοι: κατευθυνόμενοι και μη Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι

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

d(v) = 3 S. q(g \ S) S

d(v) = 3 S. q(g \ S) S Διάλεξη 9: 9.11.2016 Θεωρία Γραφημάτων Διδάσκων: Σταύρος Κολλιόπουλος Γραφέας: Παναγιωτίδης Αλέξανδρος Θεώρημα 9.1 Εστω γράφημα G = (V, E), υπάρχει τέλειο ταίριασμα στο G αν και μόνο αν για κάθε S υποσύνολο

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

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

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

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

Βασικές Έννοιες Θεωρίας Γραφημάτων

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

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

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή Επαναληπτικές Ασκήσεις Ρίζου Ζωή email: zrizou@ee.duth.gr Άσκηση 1 Τι πραγματεύεται το θεώρημα Euler; Απάντηση Ψευδογραφήματα που περιέχουν ένα κύκλωμα στο ψευδογραφήματα, των οποίων ο βαθμός κάθε κορυφής

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

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 4η Θεωρία Γραφηµάτων Σκοπός της παρούσας εργασίας είναι η εξοικείωση µε τις σηµαντικότερες έννοιες και τους αλγορίθµους της Θεωρίας ένδρων.

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

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

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

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

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

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

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

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; ΘΕΜΑΤΑ ΔΕΝΔΡΩΝ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ ΠΛΗ0 ΑΣΚΗΣΗ Για τις ερωτήσεις - θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; Β Ε Α 6 Δ 5 9 8 0 Γ 7 Ζ Η. Σ/Λ Δυο από τα συνδετικά

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

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Διακριτή πηγή πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 3 : Γραφήματα & Αποδείξεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

Επιχειρησιακή Έρευνα I

Επιχειρησιακή Έρευνα I Επιχειρησιακή Έρευνα I Operations/Operational Research (OR) Κωστής Μαμάσης Παρασκευή 9: : Σημειώσεις των Α. Platis, K. Mamasis Περιεχόμενα EE & Εισαγωγή Μαθηματικός Προγραμματισμός - Γραμμικός Προγραμματισμός

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

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

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

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

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

ΔΕΝΔΡΙΚΑ ΓΡΑΦΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 3

ΔΕΝΔΡΙΚΑ ΓΡΑΦΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 3 Δενδρικά Γραφήματα 93 ΚΕΦΑΛΑΙΟ 3 ΔΕΝΔΡΙΚΑ ΓΡΑΦΗΜΑΤΑ 3.1 Εισαγωγή 3.2 Βασικές Ιδιότητες Δένδρων 3.3 Απαρίθμηση Δένδρων 3.4 Γενετικά Δένδρα 3.5 Ελάχιστα Γενετικά Δένδρα Προαπαιτούμενη Γνώση Πολύ καλή γνώση

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

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

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

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

Ειδικά θέματα σε κινητά και ασύρματα δίκτυα

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

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

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

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα Ορέστης Τελέλης tllis@unipi.r Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 1 / 27 έντρα έντρο είναι απλό συνδεδεµένο µη

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

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 5 ΣΥΝΕΚΤΙΚΟΤΗΤΑ Σταύρος Δ. Νικολόπουλος 2017-18 www.cs.uoi.gr/~stavros Συνεκτικότητα Έννοια της συνδεσμικότητας: «Ποσότητα συνδεσμικότητας»...

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

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

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

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

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

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

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

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

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

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

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

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem

Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Το Πρόβλημα του Περιοδεύοντος Πωλητή - The Travelling Salesman Problem Έλενα Ρόκου Μεταδιδακτορική Ερευνήτρια ΕΜΠ Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

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

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

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

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

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

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

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΔΙΑΧΕΙΡΙΣΗΣ ΠΟΛΙΤΙΣΜΙΚΟΥ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΚΑΙ ΝΕΩΝ ΤΕΧΝΟΛΟΓΙΩΝ ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΚΤΙΚΗ ΕΝΟΤΗΤΑ 3 ΘΕΜΑ: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ ΓΡΑΦΗΜΑΤΑ Επίκουρος Καθηγητής ΠΕΡΙΕΧΟΜΕΝΟ

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου

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

(elementary graph algorithms)

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

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

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

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

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

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες Διδάσκοντες: Δ. Φωτάκης, Δ. Σούλιου Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα

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

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

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

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

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

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