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

Σχετικά έγγραφα
Αλγόριθµοι και Πολυπλοκότητα

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

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

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

Heapsort Using Multiple Heaps

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

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

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

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

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

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

Γενικό πλάνο. Μαθηµατικά για Πληροφορική. Παράδειγµα αναδροµικού ορισµού. οµική επαγωγή ΠΑΡΑ ΕΙΓΜΑ. 3ο Μάθηµα

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

Μαθηµατικά για Πληροφορική

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

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

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

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

Μεθοδολογίες παρεµβολής σε DTM.

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

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

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

Δομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου

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

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

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

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

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

Κεφάλαιο 2. Η δοµή δεδοµένων Σωρός και η Ταξινόµηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.1, 12/05/2010

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

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

Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑ Α Β )

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

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

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

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

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

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

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

Αριθµητική Ανάλυση. ιδάσκοντες: Τµήµα Α ( Αρτιοι) : Καθηγητής Ν. Μισυρλής, Τµήµα Β (Περιττοί) : Επίκ. Καθηγητής Φ.Τζαφέρης. 21 εκεµβρίου 2015 ΕΚΠΑ

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

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

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

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

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

Θεωρία Αποφάσεων και Βελτιστοποίηση

Επεξεργασία Ερωτήσεων

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

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

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

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1

ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ

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

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟ MATLAB- SIMULINK

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

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

12xy(1 x)dx = 12y. = 12 y. = 12 y( ) = 12 y 1 6 = 2y. x 6x(1 x)dx = 6. dx = 6 3 x4

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

Επίλυση Γραµµικών Συστηµάτων

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

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

Κεφάλαιο 9 ο Κ 5, 4 4, 5 0, 0 0,0 5, 4 4, 5. Όπως βλέπουµε το παίγνιο δεν έχει καµιά ισορροπία κατά Nash σε αµιγείς στρατηγικές διότι: (ΙΙ) Α Κ

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

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

Προγραμματισμός Ι (ΗΥ120)

Γνωριµία µε τη Microsoft Access

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα:

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

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

Π(n) : 1 + a + + a n = an+1 1 a 1. a 1. + a k+1 = ak+2 1

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

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

4. Αναδροµικός τύπος Είναι ο τύπος που συσχετίζει δύο ή περισσότερους γενικούς όρους µιας ακολουθίας

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων

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

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

Κεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014

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

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

Εργαστήριο ΨΗΦΙΑΚΗ ΛΟΓΙΚΗ. Εισαγωγή

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

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

Θέµατα ( ικαιολογείστε πλήρως όλες τις απαντήσεις σας)

Εισαγωγή στην Πληροφορική. Α σ κ ή σ ε ι ς σ τ η ν ι α χ ε ί ρ ι σ η Μ ν ή µ η ς. Αντώνης Σταµατάκης

ΗΥ360 Αρχεία και Βάσεις εδοµένων

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

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

Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

x x και µε P το γινόµενο x1 x2 2α 2α α

Αριθµητική Ανάλυση. ιδάσκοντες: Καθηγητής Ν. Μισυρλής, Επίκ. Καθηγητής Φ.Τζαφέρης ΕΚΠΑ. 16 Ιανουαρίου 2015

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

Εύρεση ν-στού πρώτου αριθμού

Ταχεία Ταξινόμηση Quick-Sort

Transcript:

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

Βέλτιστα (στατικά) δυαδικά δένδρα αναζήτησης Παράδειγµα: Σχεδιασµός προγράµµατος µετάφρασης κειµένου από τα Ελληνικά στα Αγγλικά Λύση: Για κάθε ελληνική λέξη που εµφανίζεται στο κείµενο, ϑα πρέπει να ανατρέχουµε στην αντίστοιχη αγγλική Κατασκευή δυαδικού δέντρου αναζήτησης ( Α) το οποίο να χρησιµοποιεί ως κλειδιά n ελληνικές λέξεις και ως παρελκόµενα δεδοµένα τις αντίστοιχες αγγλικές τους. Στόχος: Ο ολικός χρόνος που δαπανάται στην αναζήτηση να είναι όσο το δυνατό µικρότερος Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 2 / 18

Βέλτιστα (στατικά) δυαδικά δένδρα αναζήτησης Ερώτηµα: Πώς ϑα πρέπει να κατασκευάσουµε ένα δυαδικό δένδρο αναζήτησης ούτως ώστε να ελαχιστοποιήσουµε το πλήθος των κόµβων που διεξερχόµαστε σε όλες τις αναζητήσεις, αν γνωρίζουµε τη συχνότητα εµφάνισης της κάθε λέξης Απάντηση: Η δοµή που χρειαζόµαστε λέγεται Βέλτιστο (στατικό) δυαδικό δένδρο αναζήτησης. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 3 / 18

Βέλτιστα (στατικά) δυαδικά δένδρα αναζήτησης Το πρόβληµα: ίνεται µια ταξινοµηµένη ακολουθία K =< k 1, k 2,...,k n > από n διαφορετικά κλειδιά, έτσι ώστε k 1 < k 2 < < k n, µε πιθανότητα αναζήτησης p i για κάθε κλειδί k i ίνονται επίσης n+1 ϐουβά κλειδιά d 0, d 1,...,d n, τα οποία αντιπροσωπεύουν τιµές που δεν απαντούν στην ακολουθία K. Συγκεκριµένα, το κλειδί d 0 αντιπροσωπεύει όλες τις τιµές που είναι µικρότερες του k 1, το d n όλες τις τιµές που είναι µεγαλύτερες του k n, και για i = 1, 2,...,n 1, το ϐουβό κλειδί d i αντιπροσωπεύει όλες τις τιµές που ϐρίσκονται µεταξύ του k i και του k i+1. Τα κλειδιά είναι εσωτερικοί κόµβοι και τα ϐουβά κλειδιά είναι καταληκτικοί κόµβοι (ϕύλλα) Για κάθε ϐουβό κλειδί d i, έχουµε πιθανότητα αναζήτησης q i Θέλουµε να κατασκευάσουµε ένα Α µε το ελάχιστα αναµενόµενο κόστος αναζήτησης Για κάθε κλειδί k i, κόστος = β T (k i )+1, όπου β T (k i ) το ϐάθος ενός κόµβου στο δέντρο Τ. Προσθέτουµε 1 στο κόστος γιατί το ϐάθος της ϱίζας είναι 0 Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 4 / 18

Αναµενόµενο κόστος αναζήτησης Το πραγµατικό κόστος µιας αναζήτησης ισούται µε το πλήθος των εξεταζόµενων κόµβων Οποιαδήποτε αναζήτηση είτε είναι επιτυχής (οπότε επιστρέφει κάποιο κλειδί k i ) είτε ανεπιτυχής (οπότε επιστρέφει κάποιο ϐουβό κλειδί d i ), έχει άθροισµα πιθανοτήτων ίσο µε 1, δηλ. n p i + i=1 n q i = 1 i=0 Το αναµενόµενο κόστος µιας αναζήτησης (κ.α) στο δέντρο Τ είναι n n E[κ.α. στο Τ] = (β T (k i )+1) p i + (β T (d i )+1) q i i=1 = 1+ n β T (k i ) p i + i=0 i=1 i=0 n β T (d i ) q i Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 5 / 18

Παράδειγµα - Αναµενόµενο κόστος αναζήτησης Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 6 / 18

Παράδειγµα - Αναµενόµενο κόστος αναζήτησης Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 7 / 18

Παρατηρήσεις Ενα ϐέλτιστο Α δεν είναι απαραιτήτως δέντρο ελάχιστου ολικού ύψους εν είναι ϐέβαιο ότι µπορούµε να κατασκευάσουµε ένα ϐέλτιστο Α τοποθετώντας πάντοτε το κλειδί µε τη µέγιστη πιθανότητα στη ϱίζα. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 8 / 18

Εξαντλητικός έλεγχος ή όχι; Ο εξαντλητικός έλεγχος όλων των δυνατοτήτων αποδίδει ϐραδύτατο αλγόριθµο. Τι µπορούµε να κάνουµε; Σήµανση των κόµβων οποιουδήποτε δυαδικού δέντρου n κόµβων µε τα κλειδιά k 1, k 2,..., k n ώστε να κατασκευάσουµε ένα Α Προσθήκη σε αυτό ϐουβών κλειδιών στη ϑέση καταληκτικών κόµβων Το πλήθος των δυαδικών δέντρων µε n κόµβους είναιω(4 n /n 3/2 ), και εποµένως για να εξαντλήσουµε όλες τις δυνατότητες ϑα πρέπει να εξετάσουµε εκθετικό πλήθος Α. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 9 / 18

Βήµα 1: Η δοµή ενός ϐέλτιστου Α Κάθε υποδέντρο του Α περιέχει διαδοχικά κλειδιά k i,..., k j, όπου 1 i j n. Αν το Τ είναι ένα ϐέλτιστο Α και αν το Τ περιλαµβάνει ένα υποδέντρο Τ το οποίο περιέχει τα κλειδιά k i,..., k j, τότε το υποδέντρο Τ ϑα πρέπει να είναι επίσης ϐέλτιστο όσον αφορά το υποπρόβληµα µε τα κλειδιά k i,..., k j και τα ϐουβά κλειδιά d i 1,..., d j Απόδειξη: Αποκοπή και επικόλληση. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 10 / 18

Βέλτιστη υποδοµή Κάποιο από τα κλειδιά k i,..., k j, έστω το k r, όπου i r j, ϑα αποτελεί τη ϱίζα ενός ϐέλτιστου υποδέντρου το οποίο ϑα πειέχει τα συγκεκριµένα κλειδιά Το αριστερό υποδέντρο της ϱίζας k r, ϑα περιέχει τα κλειδιά k i,...,k r 1 (καθώς και τα ϐουβά κλειδιά d i 1,..., d r 1 ) Το δεξί υποδέντρο της ϱίζας k r, ϑα περιέχει τα κλειδιά k r+1,..., k j (καθώς και τα ϐουβά κλειδιά d r,..., d j ) Για να ϐρούµε ένα ϐέλτιστο Α πρέπει να (ι) εξετάσουµε όλες τις δυνατές ϱίζες k r, όπου i r j (ιι) προσδιορίσουµε όλα τα ϐέλτιστα Α που περιέχουν τα κλειδιά k i,...,k r 1 και k r+1,...,k j Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 11 / 18

Βήµα 2: Μια αναδροµική λύση Εύρεση ϐέλτιστου Α για k i,...,k j, όπου i 1, j n, j i 1 Οταν j = i 1, το δέντρο είναι κενό καθώς δεν υπάρχει κανένα πραγµατικό κλειδί, αλλά µόνο το ϐουβό κλειδί d i 1 Ορίζουµε e[i, j] = αναµενόµενο κόστος αναζήτησης του ϐέλτιστου Α για k i,..., k j Αν j = i 1, τότε e[i, j] = q i 1 Αν j i, Επιλογή ϱίζας k r, για 1 r j Αναδροµική κατασκευή ϐέλτιστου Α Για k i,...,k r 1, σαν αριστερό υποδέντρο Για k r+1,...,k j, σαν δεξί υποδέντρο Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 12 / 18

Βήµα 2: Μια αναδροµική λύση Πώς µεταβάλλεται το αναµενόµενο κόστος αναζήτησης σε ένα υποδέντρο όταν αυτό καθίσταται υποδέντρο ενός κόµβου; Το ϐάθος του κάθε κόµβου στο υποδέντρο αυξάνεται κατά µια µονάδα Το αναµενόµενο κόστος αναζήτησης σε αυτό το υποδέντρο αυξάνεται κατά το άθροισµα όλων των πιθανοτήτων στο υποδέντρο: w(i, j) = j j p i + l=i l=i 1 q i Αν k r είναι η ϱίζα του ϐέλτιστου υποδέντρου το οποίο περιέχει τα κλειδιά k i,..., k j, τότε e[i, j] = p r +(e[i, r 1]+w[i, r 1])+(e[r + 1, j]+w[r + 1, j]) = e[i, r 1]+e[r + 1, j]+w[i, j] γιατί w[i, j] = w[i, r 1]+p r + w[r + 1, j]. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 13 / 18

Βήµα 2: Μια αναδροµική λύση Αν ΕΝ γνωρίζουµε τη ϱίζα η οποία δίνει το ελάχιστο αναµενόµενο κόστος αναζήτησης, τότε q i 1, αν j = i 1 e[i, j] = min{e[i, r 1]+e[r + 1, j]+w[i, j]}, αν i j i r j Οι τιµές των e[i, j] αντιπροσωπεύουν τα αναµενόµενα κόστη αναζήτησης σε ϐέλτιστα Α. Για να διευκολύνουµε την πορεία κατασκευής ενός ϐέλτιστου Α, ορίζουµε ως ϱίζα[i, j], για 1 i j n, τον αύξοντα αριθµό r του κλειδιού k r, το οποίο αποτελεί τη ϱίζα ενός ϐέλτιστου Α που περιέχει τα κλειδιά k i,..., k j. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 14 / 18

Βήµα 3: Υπολογίζοντας τη ϐέλτιστη λύση Για κάθε υποπρόβληµα(i, j), αποθηκεύουµε το αναµενόµενο κόστος αναζήτησης σε ένα πίνακα e[1..n+1, 0..n] Θα χρησιµοποιήσουµε µόνο εισόδους e[i, j], για τις οποίες j i 1 ϱίζα[i, j]=ρίζα του υποδέντρου µε κλειδιά k i,...,k j, για 1 i j n. w[1..n + 1, 0..n]=άθροισµα πιθανοτήτων: w[i, i 1] = q i 1, για 1 i n+1 (ϐασική περίπτωση) w[i, j] = w[i, j 1]+p j + q j, για 1 i j n. Παρατήρηση: Το w αποθηκεύεται για λόγους αποδοτικότητας. Αντί να υπολογίσουµε το w[i, j] από το 0 κάθε ϕορά που υπολογίζουµε το e[i, j], αποθηκεύουµε τις τιµές αυτές σε ένα πίνακα. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 15 / 18

Βήµα 3: Υπολογισµός του αναµενόµενου κόστους αναζήτησης σε ένα ϐέλτιστο Α Έστω όλα τα δέντρα με l κλειδιά Καθορισμός του 1ου κλειδιού Καθορισμός του 2ου κλειδιού Προσδιορισμός της ρίζας του βέλτιστου (υπο)δέντρου. Χρόνος? Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 16 / 18

Βήµα 3: Υπολογισµός του αναµενόµενου κόστους αναζήτησης σε ένα ϐέλτιστο Α = O(n^3) Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 17 / 18

Οι πίνακες e[i, j], w[i, j] και ϱίζα[i, j] που υπολογίζονται από τη διαδικασία ΒΕΛΤΙΣΤΟ Α για την κατανοµή κλειδιών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 18 / 18