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

Σχετικά έγγραφα
Αλγόριθμοι και πολυπλοκότητα Οριζόντια διερεύνηση

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

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

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

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

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

Διοικητική Λογιστική

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

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

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Ενδεικτικές λύσεις ασκήσεων διαχείρισης έργου υπό συνθήκες αβεβαιότητας

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

Αλγόριθμοι και πολυπλοκότητα Depth-First Search

1 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

ΣΥΣΤΗΜΑΤΑ ΗΛΕΚΤΡΙΚΗΣ ΕΝΕΡΓΕΙΑΣ ΙIΙ

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού σε κατάσταση Κορεσμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

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

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

Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση

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

Graphs. Outline. Graphs. Data structures for graphs ORD SFO LAX DFW. Definition Applications Terminology Properties ADT

Μάρκετινγκ Αγροτικών Προϊόντων

Ψηφιακή Επεξεργασία Εικόνων

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Διοικητική Λογιστική

Λογιστική Κόστους Ενότητα 12: Λογισμός Κόστους (2)

Προγραμματισμός Η/Υ. Βασικές Προγραμματιστικές Δομές. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 3: Εφαρμογές Δικτυωτής Ανάλυσης (2 ο Μέρος)

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 3: Έλεγχοι στατιστικών υποθέσεων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 1: Καταχώρηση δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων

Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Αθήνας. Βιοστατιστική (Ε) Ενότητα 2: Περιγραφική στατιστική

Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

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

Ενότητα. Εισαγωγή στις βάσεις δεδομένων

Δομές Δεδομένων Ενότητα 6

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Τεχνικό Σχέδιο - CAD

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Θερμοδυναμική. Ανοικτά Ακαδημαϊκά Μαθήματα. Πίνακες Νερού Υπέρθερμου Ατμού. Γεώργιος Κ. Χατζηκωνσταντής Επίκουρος Καθηγητής

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

ΗΛΕΚΤΡΟΝΙΚΗ ΙIΙ Ενότητα 6

Τεχνικό Σχέδιο - CAD

Στατιστική. 6 ο Μάθημα: Διαστήματα Εμπιστοσύνης και Έλεγχοι Υποθέσεων. Γεώργιος Μενεξές Τμήμα Γεωπονίας ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ

Μάρκετινγκ Αγροτικών Προϊόντων

ΗΛΕΚΤΡΟΝΙΚΗ Ι Ενότητα 5

Μάρκετινγκ Αγροτικών Προϊόντων

Διδακτική Πληροφορικής

Μηχανολογικό Σχέδιο Ι

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

Κβαντική Επεξεργασία Πληροφορίας

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

Οικονομική Γεωργικών Εκμεταλλεύσεων

Δομές Δεδομένων Ενότητα 1

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

Βέλτιστος Έλεγχος Συστημάτων

Διαφήμιση και Δημόσιες Σχέσεις Ενότητα 9: Σχέσεις διαφημιστή-διαφημιζόμενου

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

Εισαγωγή στους Αλγορίθμους Ενότητα 11η Άσκηση - Σταθμισμένος Χρονοπρογραμματισμός Διαστημάτων

Μυελού των Οστών Ενότητα #1: Ερωτήσεις κατανόησης και αυτόαξιολόγησης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

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

Διοίκηση Ολικής Ποιότητας & Επιχειρηματική Αριστεία Ενότητα 1.3.2: Παραδοσιακή VS νέα προσέγγιση της ΔΟΠ

Τεχνικό Σχέδιο - CAD. Τόξο Κύκλου. Τόξο Κύκλου - Έλλειψη. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Διδακτική Πληροφορικής

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διαχείριση Πολιτισμικών Δεδομένων

Αλγόριθμοι και πολυπλοκότητα Bucket-Sort και Radix-Sort

Εισαγωγή στους Η/Υ. Ενότητα 2β: Αντίστροφο Πρόβλημα. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Μεθοδολογία Έρευνας Κοινωνικών Επιστημών Ενότητα 2: ΣΥΓΚΕΝΤΡΩΣΗ ΠΛΗΡΟΦΟΡΙΩΝ ΜΑΡΚΕΤΙΝΓΚ Λοίζου Ευστράτιος Τμήμα Τεχνολόγων Γεωπόνων-Kατεύθυνση

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

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (1ο Μέρος)

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

Εισαγωγή στους Υπολογιστές

Αλγόριθμοι και πολυπλοκότητα Η Άπληστη Μέθοδος

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

Πληροφορική ΙΙ Θεματική Ενότητα 5

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Κβαντική Επεξεργασία Πληροφορίας

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εννοιες και Παράγοντες της Ψηφιακής Επεξεργασίας Εικόνας

Διδακτική Πληροφορικής

Βάσεις Περιβαλλοντικών Δεδομένων

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

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

Προσχολική Παιδαγωγική Ενότητα 2: Οργάνωση χρόνου και χώρου στα νηπιαγωγεία

ΟΙΚΟΝΟΜΙΚΑ ΜΑΘΗΜΑΤΙΚΑ

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

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

Transcript:

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

Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Κρήτης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2

Σημείωμα αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης reative ommons Αναφορά, Μη Εμπορική Χρήση, Όχι Παράγωγο Έργο 4.0 [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] http://creativecommons.org/licenses/by-nc-nd/4.0/ Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί.. 3

readth-irst Search 4

Κύρια σημεία για μελέτη readth-first search ( 6.3.3) Αλγόριθμος Παράδειγμα Ιδιότητες Ανάλυση Εφαρμογές S vs. S ( 6.3.3) Σύγκριση εφαρμογών Σύγκριση των edge labels readth-irst Search 5

readth-irst Search Η readth-first search (S) είναι μια γενική τεχνική για την διάσχιση ενός γράφου. Μια S διάσχιση ενός γράφου G Επισκέπτεται όλους τους κόμβους και όλες τις ακμές του G. Καθορίζει αν ο G είναι συνδεδεμένος. Υπολογίζει τα συνδεδεμένα συστατικά του G. Υπολογίζει ένα spanning forest του G. Μια S σε έναν κόμβο με n κόμβους και m ακμές παίρνει χρόνο O(n + m ) Η S μπορεί να επεκταθεί περαιτέρω ώστε να λύνει και άλλα προβλήματα γράφων. Μπορεί να βρει και να αναφέρει ένα μονοπάτι με τον ελάχιστο αριθμό ακμών που συνδέει δύο δεδομένους κόμβους. Να βρει έναν απλό κύκλο, αν υπάρχει. readth-irst Search 6

Ο αλγόριθμος S Ο αλγόριθμος χρησιμοποιεί έναν μηχανισμό για να θέτει και να ανακτά ετικέτες των κόμβων και των ακμών. lgorithm S(G) Input graph G Output labeling of the edges and partition of the vertices of G for all u G.vertices() setlabel(u, UNXPLOR) for all e G.edges() setlabel(e, UNXPLOR) for all v G.vertices() if getlabel(v) = UNXPLOR S(G, v) lgorithm S(G, s) new empty sequence.insertlast(s) setlabel(s, VISIT) i 0 while L i.ismpty() L i +1 new empty sequence for all v L i.elements() for all e G.incidentdges(v) if getlabel(e) = UNXPLOR w opposite(v,e) if getlabel(w) = UNXPLOR setlabel(e, ISOVRY) setlabel(w, VISIT) L i +1.insertLast(w) else setlabel(e, ROSS) i i +1 readth-irst Search 7

Παράδειγμα Ανεξερεύνητος κόμβος Κόμβος στον οποίο έγινε επίσκεψη Ανεξερεύνητη ακμή Ακμή στην οποία έγινε επίσκεψη cross ακμή readth-irst Search 8

Παράδειγμα (συν.) readth-irst Search 9

xample (cont.) readth-irst Search 10

Ιδιότητες Συμβολισμός G s : συνδεδεμένο συστατικό του s Ιδιότητα 1 Ο S(G, s) επισκέπτεται όλους τους κόμβους και τις ακμές του G s Ιδιότητα 2 Οι discovery ακμές που μαρκάρονται από τον S(G, s) σχηματίζουν ένα spanning tree T s του G s Ιδιότητα 3 Για κάθε κόμβο v στο L i Το μονοπάτι του T s από τον s στο v έχει i ακμές Κάθε μονοπάτι από το s στο v στον G s έχει τουλάχιστον i ακμές readth-irst Search 11 7/9/2015 11:01 M

Ανάλυση Η ανάθεση/ανάκτηση μιας ετικέτας κόμβου/ακμής παίρνει χρόνο O(1) Κάθε κόμβος παίρνει ετικέτα δύο φορές Μια φορά ως UNXPLOR Μια φορά ως VISIT Κάθε ακμή παίρνει ετικέτα δύο φορές Μια φορά ως UNXPLOR Μία φορά ως ISOVRY η ROSS Κάθε κόμβος εισάγεται μία φορά μέσα σε μια ακολουθία L i Η μέθοδος incidentdges καλείται μια φορά για κάθε κόμβο. Ο S τρέχει σε χρόνο O(n + m) δεδομένου ότι ο γράφος αναπαρίσταται με τη δομή adjacency list Θυμηθείτε ότι S v deg(v) = 2m readth-irst Search 12

Εφαρμογές Χρησιμοποιώντας το template method πρότυπο, μπορούμε να ειδικεύσουμε την S διάσχιση ενός γράφου G για να λύσουμε τα ακόλουθα προβλήματα σε χρόνο O(n + m) Να υπολογίσουμε τα συνδεδεμένα συστατικά του G Να υπολογίσουμε ένα spanning δάσος του G Να βρούμε έναν απλό κύκλο στον γράφο G, ή να αναφέρουμε ότι ο G είναι ένα δάσος. Δεδομένων δύο κόμβων του G, να βρούμε ένα μονοπάτι στον G ανάμεσα στους κόμβους αυτούς με τον ελάχιστο αριθμός ακμών, ή να αναφέρουμε ότι δεν υπάρχει τέτοιο μονοπάτι. readth-irst Search 13

S vs. S Εφαρμογή S S Spanning δάσος, συνδεδεμένα συστατικά, μονοπάτια, κύκλοι Συντομότερα μονοπάτια Διπλά συνδεδεμένα συστατικά S S readth-irst Search 14

S vs. S (συν.) ack edge (v,w) w είναι ένας πρόγονος του v στο δέντρο των discovery ακμών ross edge (v,w) w είναι το ίδιο επίπεδο όπως το v ή στο επόμενο επίπεδο στο δέντρο των discovery ακμών S S readth-irst Search 15

Τέλος Ενότητας