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

Σχετικά έγγραφα
Βασικές Προτάσεις. έντρα. υαδικά έντρα Αναζήτησης ( Α) Ισοζυγισµένα έντρα και Υψος. Κάθε δέντρο µε n κόµβους έχει n 1 ακµές.

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.

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

Απαρίθµηση Μονοπατιών. Στοιχεία Θεωρίας Γραφηµάτων (3) Μονοπάτια και Κυκλώµατα Euler. Ορέστης Τελέλης

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

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

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

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

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

Παράδειγµα (4) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς. v 2. u 3.

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής

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

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

Ισοζυγισμένα υαδικά έντρα Αναζήτησης

Γενικές Παρατηρήσεις. Μη Κανονικές Γλώσσες - Χωρίς Συµφραζόµενα (1) Το Λήµµα της Αντλησης. Χρήση του Λήµµατος Αντλησης.

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

Σύνοψη Προηγούµενου. Γλώσσες χωρίς Συµφραζόµενα (2) Ισοδυναµία CFG και PDA. Σε αυτό το µάθηµα. Αυτόµατα Στοίβας Pushdown Automata

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Βασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

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

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

Αρχή Εγκλεισµού-Αποκλεισµού (3 σύνολα) Αρχή Εκλεισµού-Αποκλεισµού Η Τάξη των Συναρτήσεων. Εφαρµογές. Παράδειγµα 1.

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

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

Ισοδυναµίες, Μερικές ιατάξεις

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

υαδικά δέντρα αναζήτησης

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

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (3) Παραδείγµατα µε Κανονικές Εκφράσεις. Σε αυτό το µάθηµα.

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18

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

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

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

Σύνοψη Προηγούµενου. Ισοδυναµίες, Μερικές ιατάξεις. Σχέσεις Ισοδυναµίας. Σχέσεις, Ιδιότητες, Αναπαράσταση. Ανακλαστικές (a, a) R

Γ. Κορίλη Αλγόριθµοι ροµολόγησης

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

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

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

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

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

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs)

ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ

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

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΛΗ111. Ανοιξη Μάθηµα 7 ο. έντρο. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Στοιχεία Θεωρίας Υπολογισµού (2): Πεπερασµένα Αυτόµατα, Κανονικές Εκφράσεις

Σχέσεις, Ιδιότητες, Κλειστότητες

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

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

(β) Θεωρούµε µια ακολουθία Nθετικών ακεραίων η οποία περιέχει ακριβώς

Ποιές οι θεµελιώδεις δυνατότητες και ποιοί οι εγγενείς περιορισµοί των υπολογιστών ; Τί µπορούµε και τί δε µπορούµε να υπολογίσουµε (και γιατί);

Στοιχεία Θεωρίας Υπολογισµού (1): Τυπικές Γλώσσες, Γραµµατικές

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

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

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

Ενότητα 7 Ουρές Προτεραιότητας

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

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

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

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

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

ΕΝΟΤΗΤΑ 5 ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΔΕΝΔΡΑ

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα?

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

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

υαδικά έντρα Αναζήτησης

3 Αναδροµή και Επαγωγή

ιαιρετότητα Στοιχεία Θεωρίας Αριθµών «Ο Αλγόριθµος της ιαίρεσης» Αριθµητική Υπολοίπων 0 r < d και a = d q +r

Εκτενείς Δομές Δεδομένων

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

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

jτο πλήθος των ταξιδιών που κάνει η αεροσυνοδός µέχρι την j ηµέρα. Σχηµατίζω µία ακολουθία που αποτελείται από τα a.

PROJECT ΣΤΟ ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟ ΟΥΣ

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

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

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

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

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

Επιπλέον Ασκήσεις. Μαθηµατική Επαγωγή. ιαιρετότητα. Προβλήµατα ιαιρετότητας.

Ισοζυγισµένο έντρο (AVL Tree)

Δοµές Δεδοµένων. 18η Διάλεξη Ισορροπηµένα δέντρα. Ε. Μαρκάκης

Μαθηµατική Επαγωγή. Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς

Δημιουργία Δυαδικών Δέντρων Αναζήτησης

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

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

Μαθηµατική Επαγωγή. Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς

Δοµές Δεδοµένων. 14η Διάλεξη Δέντρα Δυαδικής Αναζήτησης. Ε. Μαρκάκης

Διάλεξη 11: Δέντρα Ι Εισαγωγή σε Δενδρικές Δομές Δεδομένων

υαδικό έντρο Αναζήτησης (BSTree)

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ

ΕπίλυσηΠροβληµάτων Αναθέσεων: Η "Ουγγρική Μέθοδος"

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

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι

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

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

Transcript:

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

έντρα έντρο είναι απλό συνδεδεµένο µη κατευθυνόµενο γράφηµα χωρίς κύκλους. a b a b a b a b Ενα γράφηµα είναι δέντρο αν και µόνο αν κάθε δύο κόµβοι του συνδέονται µε µοναδικό µονοπάτι. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 2 / 27

έντρα µε Ρίζα Ενας κόµβος µπορεί να οριστεί ως ρίζα: το δέντρο «κρεµιέται» από αυτόν. a b b a b a Τρεις απεικονίσεις του ίδιου δέντρου. Η 2η και η 3η απεικόνιση υπονοούν ως ϱίζα τον κόµβο a και αντίστοιχα. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 3 / 27

Ορολογία a b ρίζα ο κόµβος a παιδί κόµβου όποιος συνδέεται άµεσα «προς τα κάτω» Παιδιά του a: {b,, }, παιδιά του b: {, }. γονέας/πατέρας κόµβου αυτός που συνδέεται άµεσα «προς τα πάνω» Πατέρας / γονέας του είναι ο, των b,, είναι ο a απόγονοι κόµβου τα παιδιά του, τα παιδιά των παιδιών του,... Απόγονοι του a είναι όλοι, του b απλώς τα παιδιά του πρόγονοι κόµβου ο γονέας του, ο γονέας του γονέα,..., η ϱίζα Πρόγονοι του είναι ο και ο a Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 4 / 27

Ορολογία a b υποδέντρο «επάγεται» από κόµβο και τους απογόνους του Π.χ.: το υποδέντρο µε ϱίζα b επάγεται από τους b,, φύλλα εσωτερικοί επίπεδο κόµβοι χωρίς παιδιά Οι κόµβοι,, κόµβοι που δεν είναι ϕύλλα Οι κόµβοι a, b,, σύνολο κόµβων µε ίση απόσταση από ϱίζα Π.χ., 1ο επίπεδο: {b,, } ύψος µέγιστο µήκος µονοπατιού από ϱίζα (Εδώ: 2) Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 5 / 27

m-αδικά έντρα έντρο µε ρίζα είναι «m-αδικό» αν κάθε εσωτερικός κόµβος έχει m παιδιά. Είναι πλήρες m-αδικό αν κάθε εσωτερικός κόµβος έχει ακριβώς m παιδιά. Πλήρες υαδικό Πλήρες Τριαδικό Πλήρες Πενταδικό Τριαδικό, µη πλήρες. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 6 / 27

Βασικές Προτάσεις Κάθε δέντρο µε n κόµβους έχει n 1 ακµές. ικαιολόγηση: Με επαγωγή στο πλήθος των κόµβων, n. έντρο µε k εσωτερικούς κόµβους και l ϕύλλα έχει n = k + l κόµβους. ικαιολόγηση: ένα δέντρο έχει µόνο εσωτερικούς κόµβους και ϕύλλα. Πλήρες m-αδικό δέντρο µε k εσωτ. κόµβους έχει n = m k + 1 κόµβους. ικαιολόγηση: κάθε κόµβος εκτός της ϱίζας είναι παιδί εσωτερικού κόµβου. Κάθε m-αδικό δέντρο ύψους h έχει το πολύ m h ϕύλλα. ικαιολόγηση: µε ισχυρή επαγωγή στο ύψος h του δέντρου. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 7 / 27

Ιδιότητες (1/4) Κάθε δέντρο µε n κόµβους έχει n 1 ακµές. Επαγωγική Απόδειξη Βάση της Επαγωγής: Για n = 1 προφανώς ισχύει. Επαγωγική Υπόθεση: Εστω ότι, για n = k 1, το δέντρο έχει k 1 ακµές. Επαγωγικό Βήµα: Για δέντρο µε n = k + 1 κόµβους: Εστω v ένα ϕύλλο. Το v συνδέεται µε µια ακµή (u, v) µε τον πατέρα του, u. Το δέντρο που αποµένει κατόπιν αφαίρεσης του v και της (u, v) έχει k κόµβους και (από επαγωγική υπόθεση) k 1 ακµές. Εποµένως το δέντρο των k + 1 κόµβων έχει k = n 1 ακµές. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 8 / 27

Ιδιότητες (2/4) Κάθε πλήρες m-αδικό δέντρο µε k εσωτερικούς κόµβους έχει n = m k + 1 κόµβους. ικαιολόγηση: Κάθε κόµβος - εκτός της ϱίζας - είναι παιδί κάποιου εσωτερικού κόµβου. Επειδή είναι πλήρες m-αδικό, έχει m k κόµβους, εκτός της ϱίζας. Εποµένως, συνολικά έχει n = m k + 1 κόµβους. Ενα δέντρο µε k εσωτερικούς κόµβους και l ϕύλλα έχει n = k + l κόµβους. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 9 / 27

Ιδιότητες (3/4) Ενα πλήρες m-αδικό δέντρο µε n κόµβους, έχει: k = n 1 m (m 1)n + 1 l = m εσωτερικούς κόµβους ϕύλλα { n = m k + 1 κόµβους k εσωτερικούς κόµβµους, έχει: l ϕύλλα, έχει: l = (m 1)k + 1 n = m l 1 m 1 k = l 1 m 1 ϕύλλα κόµβους εσωτερικούς κόµβους Ολες οι σχέσεις προκύπτουν µε κατάλληλη επίλυση των n = m k + 1 και n = k + l. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 10 / 27

Ιδιότητες (4/4) Ενα m-αδικό δέντρο ύψους h έχει το πολύ m h ϕύλλα. Απόδειξη: µε ισχυρή επαγωγή στο ύψος, h. Βάση της Επαγωγής: Για m-αδικό δέντρο ύψους h = 1 ισχύει. Επαγωγική Υπόθεση: Εστω ότι ισχύει για όλα τα m-αδικά δέντρα ύψους h, όπου: 1 h k, για k 1 Επαγωγικό Βήµα: Για m-αδικό δέντρο ύψους h = k + 1: Αποσυνδέουµε - το πολύ m - υποδέντρα που «κρέµονται» από τη ϱίζα. Ολα µαζί έχουν τόσα ϕύλλα όσα το αρχικό δέντρο. Επιπλέον, έκαστο υποδέντρο έχει ύψος το πολύ h 1 = k. Εποµένως έκαστο έχει το πολύ m h 1 ϕύλλα (από επαγωγική υπόθεση). Επειδή είναι m υποδέντρα, το αρχικό έχει το πολύ m m h 1 = m h ϕύλλα. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 11 / 27

Ισοζυγισµένα έντρα και Υψος Ενα δέντρο (µε ϱίζα) ύψους h είναι ισοζυγισµένο αν: όλα τα ϕύλλα του ϐρίσκονται στο επίπεδο h ή στο επίπεδο h 1. Ισοζυγισµένο Μη ισοζυγισµένο Ισοζυγισµένο Αν ένα m-αδικό δέντρο έχει l ϕύλλα, τότε h lo m l. ιότι l m h h lo m l. Επειδή h ακέραιος, ϑα είναι h lo m l. Αν είναι πλήρες και ισοζυγισµένο, τότε h = lo m l. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 12 / 27

υαδικά έντρα Αναζήτησης ( Α) οµή οργάνωσης συνόλου από διατεταγµένα δεδοµένα. Π.χ., σύνολο από διαφορετικούς αριθµούς 2, 3, 6, 7, 13, 25. Ενας κόµβος για κάθε στοιχείο του διατεταγµένου συνόλου δεδοµένων. Το στοιχείο ονοµάζεται κλειδί του κόµβου. Κάθε κόµβος έχει το πολύ δύο παιδιά: το αριστερό και το δεξί. Ορισµός Α: Κάθε κόµβος έχει κλειδί που είναι: Μεγαλύτερο από όλα τα κλειδιά του αριστερού του υποδέντρου. ηλαδή του υποδέντρου µε ϱίζα το αριστερό του παιδί. Μικρότερο από όλα τα κλειδιά του δεξιού του υποδέντρου. ηλαδή του υποδέντρου µε ϱίζα το δεξί του παιδί. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 13 / 27

Παραδείγµατα Α 5 5 5 2 8 2 8 4 1 4 7 9 4 7 3 2 υαδικά έντρα Αναζήτησης Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 14 / 27

Αναζήτηση Κλειδιού σε Α 1. Ξεκινάµε την αναζήτηση από τη ϱίζα του δέντρου. 2. Αν το δέντρο είναι άδειο, η αναζήτηση αποτυγχάνει. 3. Αν Ϲητούµενο κλειδί = κλειδί ϱίζας: η αναζήτηση τερµατίζει επιτυχώς. 4. Αν Ϲητούµενο κλειδί < κλειδί ϱίζας: Εκτελούµε από το βήµα 1., για το αριστερό υποδέντρο. 5. Αν Ϲητούµενο κλειδί > κλειδί ϱίζας: Εκτελούµε από το βήµα 1., για το δεξιό υποδέντρο. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 15 / 27

Παραδείγµατα Αναζήτησης (1/2) Αναζήτηση του κλειδιού 3. 7 3<7 αριστερά 2 3>2 δεξιά 9 1 5 3<5 αριστερά 3 3=3 Επιτυχία Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 16 / 27

Παραδείγµατα Αναζήτησης (2/2) Αναζήτηση του κλειδιού 6. 7 6<7 αριστερά 2 6>2 δεξιά 9 1 5 6>5 Αποτυχία 3 Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 17 / 27

Εισαγωγή Κλειδιού σε Α 1. Αναζητούµε κόµβο µε το κλειδί που ϑέλουµε να εισάγουµε. 2. Αν ϐρεθεί τέτοιος κόµβος, τότε η εισαγωγή τερµατίζεται. 3. Αν η αναζήτηση είναι ανεπιτυχής: ϕτάσαµε σε κόµβο που δεν έχει ακµή προς παιδί. προσθέτουµε το κλειδί σε νέο κόµβο-παιδί τρέχοντος κόµβου. αριστερό παιδί, αν το νέο κλειδί είναι µικρότερο από το κλειδί του πατέρα, δεξιό παιδί, αν το νέο κλειδί είναι µεγαλύτερο από το κλειδί του πατέρα. Με επαναληπτικές εισαγωγές µπορούµε να κατασκευάσουµε ένα Α. 50, 35, 42, 17, 75, 60, 20, 48 Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 18 / 27

Παράδειγµα Κατασκευής Α (1/2) 50 50 Εισαγωγή του 50 ως ϱίζας του δέντρου 35 Εισαγωγή του κλειδιού 35 50 50 35 35 42 Εισαγωγή του κλειδιού 42 17 42 Εισαγωγή του κλειδιού 17 Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 19 / 27

Παράδειγµα Κατασκευής Α (2/2) 50 50 35 75 35 75 17 42 17 42 60 Εισαγωγή του κλειδιού 75. 50 Εισαγωγή του κλειδιού 60. 50 35 75 35 75 17 42 60 17 42 60 20 20 48 Εισαγωγή του κλειδιού 20. Εισαγωγή του κλειδιού 48. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 20 / 27

Επικαλύπτον έντρο Γραφήµατος Επικαλύπτον δέντρο ενός απλού γραφήµατος G είναι ένα επικαλύπτον υπογράφηµα του G (περιέχει κάθε κόµβο του G), που συνιστά δέντρο. Ενα γράφηµα G και τρία επικαλύπτοντα δέντρα (spannin trs). a b a b G a b T 1 a b T 2 T 3 Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 21 / 27

Εύρεση Επικαλυπτόντος έντρου Με διαδοχική εξάλειψη κύκλων του γραφήµατος a b a b 1. Αφαίρεση της ακµής {a, } a b 2. Αφαίρεση της ακµής {, } a b 3. Αφαίρεση της ακµής {, } Τελικό επικαλύπτον δέντρο. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 22 / 27

Εύρεση Επικαλύπτοντος έντρου Με Πρώτα Κατά Βάθος Αναζήτηση ( Dpth-First Sarh) στο γράφηµα 1. Εκκινούµε από οποιονδήποτε κόµβο του γραφήµατος και τον σηµαδεύουµε. Αυτός ϑα είναι η ϱίζα ενός επικαλύπτοντος δέντρου του γραφήµατος. 2. Ακολουθούµε ένα µονοπάτι από «συνεχόµενες» ακµές: κάθε ακµή πρόσκειται στον κόµβο που επισκεφθήκαµε πιο πρόσφατα. κάθε νέο κόµβο που επισκεπτόµαστε τον σηµαδεύουµε. 3. Αν επισκεφθούµε σηµαδεµένο κόµβο για 2η φορά: αφαιρούµε από το γράφηµα την ακµή που µας οδήγησε σε αυτόν ξανά. 4. Επιστρέφουµε στον κόµβο που επισκεφθήκαµε πιο πρόσφατα: και διαθέτει «νέες» προσκείµενες ακµές για να ακολουθήσουµε. Επαναλαµβάνουµε από το ϐήµα 2. Ο αλγόριθµος τερµατίζει όταν επιστρέψουµε στον κόµβο όπου εκκινήσαµε και δεν έχουν αποµείνει ακµές για διάσχιση. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 23 / 27

Πρώτα Κατά Βάθος Αναζήτηση: Παράδειγµα Εκκινούµε στον κόµβο a. Κάθε κόµβος σηµαδεύεται µε τη σειρά επίσκεψης. a, 1 b, 2 a, 1 b, 2, 4, 3, 4, 3, 5 Αφαίρεση της ακµής {a, }. Επιστρέφουµε στον κόµβο. a, 1 b, 2, 6, 7 Αφαίρεση της ακµής {, }. Επιστρέφουµε στον κόµβο. a, 1 b, 2, 6, 7, 4, 5, 3 Επιστρέφουµε στον κόµβο., 4, 3, 5 Αφαιρούµε την ακµή {, }. Επιστρέφουµε στον κόµβο. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 24 / 27

Εύρεση Επικαλύπτοντος έντρου Με Πρώτα Κατά Πλάτος Αναζήτηση ( Brath-First Sarh) στο γράφηµα 1. Εκκινούµε από οποιονδήποτε κόµβο του γραφήµατος και τον εισάγουµε σε µια διατεταγµένη λίστα κόµβων L. Αυτός ϑα είναι η ϱίζα ενός επικαλύπτοντος δέντρου του γραφήµατος. 2. Οσο η λίστα L δεν είναι άδεια: Εξάγουµε τον πρώτο κόµβο v από τη λίστα L και τον σηµαδεύουµε. Για κάθε ακµή {v, w} E µε {v, w} T: Αν w δεν είναι σηµαδεµένος: Εισάγουµε την {v, w} στο T. Εισάγουµε τον w στο τέλος της λίστας L. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 25 / 27

Πρώτα Κατά Πλάτος Αναζήτηση: Παράδειγµα (1/2) Εκκινούµε στον κόµβο a. Κάθε κόµβος σηµαδεύεται µε τη σειρά επίσκεψης. a, 1 b a, 1 b, 2 T = { {a, b}, {a, } }. L = [ b, ]. T = {{a, b}, {a, }, {b, }}. L = [, ]. a, 1 b, 2 a, 1 b, 2, 3, 3, 4 T = {{a, b}, {a, }, {b, }, {, }}. L = [, ]. T = {{a, b}, {a, }, {b, }, {, }, {, }} L = [, ]. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 26 / 27

Πρώτα Κατά Πλάτος Αναζήτηση: Παράδειγµα (2/2) a, 1 b, 2 a, 1 b, 2, 6, 3, 4, 5 T = {{a, b}, {a, }, {b, }, {, }, {, }} L = [ ]. a, 1 b, 2, 6, 7, 3, 4, 5 T = { {a, b}, {a, }, {b, }, {, }, {, }, {, }} L = [ ]., 3, 4, 5 T = { {a, b}, {a, }, {b, }, {, }, {, }, {, }} L = [ ]. Ο. Τελέλης Πανεπιστήµιο Πειραιώς έντρα 27 / 27