ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

Σχετικά έγγραφα
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Εαρινό Εξάμηνο

{ i f i == 0 and p > 0

Αποδεικτικές Διαδικασίες και Μαθηματική Επαγωγή.

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ

«ΔΙΑΚΡΙΤΑ ΜΑΘΗΜΑΤΙΚΑ»

Ας υποθέσουμε ότι ο παίκτης Ι διαλέγει πρώτος την τυχαιοποιημένη στρατηγική (x 1, x 2 ), x 1, x2 0,

Δ Ι Α Κ Ρ Ι Τ Α Μ Α Θ Η Μ Α Τ Ι Κ Α. 1η σειρά ασκήσεων

Οι γέφυρες του ποταμού... Pregel (Konigsberg)

Φροντιστήριο 2: Ανάλυση Αλγόριθμου. Νικόλας Νικολάου ΕΠΛ432: Κατανεμημένοι Αλγόριθμοι 1 / 10

Εισαγωγικά. 1.1 Η σ-αλγεβρα ως πληροφορία

G περιέχει τουλάχιστον μία ακμή στο S. spanning tree στο γράφημα G.

HY 280. θεμελιακές έννοιες της επιστήμης του υπολογισμού ΑΣΚΗΣΕΙΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. Γεώργιος Φρ.

Εξαναγκασμένες ταλαντώσεις, Ιδιοτιμές με πολλαπλότητα, Εκθετικά πινάκων. 9 Απριλίου 2013, Βόλος

Αναγνώριση Προτύπων. Σήμερα! Λόγος Πιθανοφάνειας Πιθανότητα Λάθους Κόστος Ρίσκο Bayes Ελάχιστη πιθανότητα λάθους για πολλές κλάσεις

5.1 Μετρήσιμες συναρτήσεις

1. Εστω ότι A, B, C είναι γενικοί 2 2 πίνακες, δηλαδή, a 21 a, και ανάλογα για τους B, C. Υπολογίστε τους πίνακες (A B) C και A (B C) και

ΜΙΚΡΟΟΙΚΟΝΟΜΙΚΗ Η ΚΑΤΑΝΑΛΩΤΙΚΗ ΑΠΟΦΑΣΗ. Άσκηση με θέμα τη μεγιστοποίηση της χρησιμότητας του καταναλωτή

Το κράτος είναι φτιαγμένο για τον άνθρωπο και όχι ο άνθρωπος για το κράτος. A. Einstein Πηγή:

Εστω X σύνολο και A μια σ-άλγεβρα στο X. Ονομάζουμε το ζεύγος (X, A) μετρήσιμο χώρο.

Ο Ισχυρός Νόμος των Μεγάλων Αριθμών

Τρίτη, 05 Ιουνίου 2001 ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ Γ ΛΥΚΕΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

Γενικό Λύκειο Μαραθοκάμπου Σάμου. Άλγεβρα Β λυκείου. 13 Οκτώβρη 2016

ιάσταση του Krull Α.Π.Θ. Θεσσαλονίκη Χ. Χαραλαμπους (ΑΠΘ) ιάσταση του Krull Ιανουάριος, / 27

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

ΣΤΟ ΙΑΤΡΕΙΟ. Με την πιστοποίηση του αποκτά πρόσβαση στο περιβάλλον του ιατρού που παρέχει η εφαρμογή.

Αναλυτικές ιδιότητες

Εφαρμογές στην κίνηση Brown

Παραβολή ψ=αχ 2 +βχ+γ, α 0. Η παραβολή ψ = αχ 2. Γενικά : Κάθε συνάρτηση της μορφής ψ=αχ 2 + βχ +γ, α 0 λέγεται τετραγωνική συνάρτηση.

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Επίλυση ειδικών μορφών ΣΔΕ

ΣΥΝΟΛΑ (προσέξτε τα κοινά χαρακτηριστικά των παρακάτω προτάσεων) Οι άνθρωποι που σπουδάζουν ΤΠ&ΕΣ και βρίσκονται στην αίθουσα

ΣΤΟ ΦΑΡΜΑΚΕΙΟ. Με την πιστοποίηση του έχει πρόσβαση στο περιβάλλον του φαρμακείου που παρέχει η εφαρμογή.

21/11/2005 Διακριτά Μαθηματικά. Γραφήματα ΒΑΣΙΚΗ ΟΡΟΛΟΓΙΑ : ΜΟΝΟΠΑΤΙΑ ΚΑΙ ΚΥΚΛΟΙ Δ Ι. Γεώργιος Βούρος Πανεπιστήμιο Αιγαίου

Ευρωπαϊκά παράγωγα Ευρωπαϊκά δικαιώματα

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ. Πρώτη Γραπτή Εργασία. Εισαγωγή στους υπολογιστές Μαθηματικά

ΤΑΞΙΝΟΜΗΣΗ ΟΡΓΑΝΙΣΜΩΝ

17 Μαρτίου 2013, Βόλος

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

Martingales. 3.1 Ορισμός και παραδείγματα

Ανεξαρτησία Ανεξαρτησία για οικογένειες συνόλων και τυχαίες μεταβλητές

(13 ο ) ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙII: «βέλτιστο στατικό ευρετήριο»

ΣΧΟΛΙΚΟ ΕΤΟΣ ΕΥΘΥΓΡΑΜΜΗ ΟΜΑΛΗ ΚΙΝΗΣΗ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΕΞΕΤΑΣΗ ΣΤΗ ΦΥΣΙΚΗ A ΛΥΚΕΙΟΥ. Ονοματεπώνυμο Τμήμα

602. Συναρτησιακή Ανάλυση. Υποδείξεις για τις Ασκήσεις

Σχέσεις και ιδιότητές τους

Στοχαστικές διαφορικές εξισώσεις

Η εξίσωση Black-Scholes

Η ανισότητα α β α±β α + β με α, β C και η χρήση της στην εύρεση ακροτάτων.

Εκφωνήσεις και Λύσεις των Θεμάτων

Αναγνώριση Προτύπων. Σημερινό Μάθημα

Μονάδες α. Να γράψετε στο τετράδιό σας τον παρακάτω πίνακα σωστά συµπληρωµένο.

Συναρτήσεις. Σημερινό μάθημα

Μαθηματικά Πληροφορικής

Γραμμική Ανεξαρτησία. Τμήμα Μηχανικών Η/Υ Τηλεπικοινωνιών και ικτύων Πανεπιστήμιο Θεσσαλίας. 17 Μαρτίου 2013, Βόλος

Ταξινόμηση των μοντέλων διασποράς ατμοσφαιρικών ρύπων βασισμένη σε μαθηματικά κριτήρια.

Κεφάλαιο Η εκθετική κατανομή. Η πυκνότητα πιθανότητας της εκθετικής κατανομής δίδεται από την σχέση (1.1) f(x) = 0 αν x < 0.

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

Ανελίξεις σε συνεχή χρόνο

Εισαγωγικές Διαλέξεις στην Θεωρία των Αλυσίδων Markov και των Στοχαστικών Ανελίξεων. Οικονομικό Πανεπιστήμιο Αθηνών

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

Εισαγωγικές Διαλέξεις στην Θεωρία των Αλυσίδων Markov και των Στοχαστικών Ανελίξεων. Οικονομικό Πανεπιστήμιο Αθηνών

Προτεινόμενα θέματα στο μάθημα. Αρχές Οικονομικής Θεωρίας ΟΜΑΔΑ Α. Στις προτάσεις από Α.1. μέχρι και Α10 να γράψετε στο τετράδιό σας τον αριθμό της

Pointers. Σημερινό Μάθημα! Χρήση pointer Τελεστής * Τελεστής & Γενικοί δείκτες Ανάκληση Δέσμευση μνήμης new / delete Pointer σε αντικείμενο 2

Η έκδοση αυτή είναι υπό προετοιμασία. Γιάννης Α. Αντωνιάδης, Αριστείδης Κοντογεώργης

Εκφωνήσεις και Λύσεις των Θεμάτων

ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Β ΤΑΞΗΣ ΕΝΙΑΙΟΥ ΛΥΚΕΙΟΥ ΣΑΒΒΑΤΟ 27 ΜΑΪΟΥ 2000 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ ΘΕΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ: ΧΗΜΕΙΑ ΣΥΝΟΛΟ ΣΕΛΙ ΩΝ: ΕΞΙ (6)

Περιεχόμενα. 3 Γεννήτριες συναρτήσεις Συνήθεις γεννήτριες συναρτήσεις Βασικές γεννήτριες συναρτήσεις

2 Η ΠΑΓΚΥΠΡΙΑ ΟΛΥΜΠΙΑ Α ΦΥΣΙΚΗΣ Γ ΓΥΜΝΑΣΙΟΥ

Επίλυση δικτύων διανομής

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ Β ΤΑΞΗ. ΘΕΜΑ 1ο

Ψηφιακή Εικόνα. Σημερινό μάθημα!

Παντού σε αυτό το κεφάλαιο, αν δεν αναφέρεται κάτι διαφορετικό, δουλεύουμε σε ένα χώρο πιθανότητας (Ω, F, P) και η G F είναι μια σ-άλγεβρα.

Κεφάλαιο 1. Πίνακες και απαλοιφή Gauss

( μ, λ ) ( i ) ( ii ) ( iii ) ( iv ) ( v )

ΠΑΝΕΠΙΣΤΗΜΙΑΚΑ ΦΡΟΝΤΙΣΤΗΡΙΑ ΚΟΛΛΙΝΤΖΑ ΜΑΘΗΜΑ: ΕΡΩΤΗΣΕΙΣ ΟΙΚΟΝΟΜΙΚΗΣ ΘΕΩΡΙΑΣ

Ημέρα 3 η. (α) Aπό την εργασιακή διαδικασία στη διαδικασία παραγωγής (β) Αξία του προϊόντος και αξία της εργασιακής δύναμης

(3 ο ) Εξαντλητική αναζήτηση I: μεταθέσεις & υποσύνολα (4 o ) Εξαντλητική αναζήτηση II: συνδυασμοί, διατάξεις & διαμερίσεις

ΜΑΘΗΜΑ: ΟΙΚΟΝΟΜΙΚΗ ΘΕΩΡΙΑ

(20 ο ) ΣΤΑΔΙΑΚΕΣ ΚΑΤΑΣΚΕΥΕΣ Ι: ΑΠΛΗΣΤΟΙ ΑΛΓΟΡΙΘΜΟΙ

Αλγόριθμοι & Βελτιστοποίηση

ΑΣΚΗΣΕΙΣ ΔΙΚΤΥΑ ΠΡΟΣΒΑΣΗΣ ΑΣΚΗΣΗ 1

Αναγνώριση Προτύπων. Σημερινό Μάθημα

ΕΙΣΑΓΩΓΗ. H λογική ασχολείται με δύο έννοιες, την αλήθεια και την απόδειξη. Oι έννοιες αυτές έχουν γίνει

( ιμερείς) ΙΜΕΛΕΙΣ ΣΧΕΣΕΙΣ Α Β «απεικονίσεις»

Έννοια. Η αποδοχή της κληρονομίας αποτελεί δικαίωμα του κληρονόμου, άρα δεν

Το υπόδειγμα IS-LM: Εισαγωγικά

Ο τύπος του Itô. f (s) ds (12.1) f (g(s)) dg(s). (12.2) t f (B s ) db s + 1 2

Μεγάλες αποκλίσεις* 17.1 Η έννοια της μεγάλης απόκλισης

ΜΑΘΗΜΑ: ΕΜΠΟΡΙΚΟ ΔΙΚΑΙΟ

Εξέταση Ηλεκτρομαγνητισμού Ι 2 Φεβρουαρίου 2018

Εισαγωγή στη Μιγαδική Ανάλυση. (Πρώτη Ολοκληρωμένη Γραφή)

Συναρτήσεις & Κλάσεις

Κατασκευή της κίνησης Brown και απλές ιδιότητες

ΚΛΑΔΟΣ: ΠΕ11 ΦΥΣΙΚΗΣ ΑΓΩΓΗΣ

- 1 - Ποιοι κερδίζουν από το εμπόριο αγαθών και υπηρεσιών; Γιατί η άμεση ανταλλαγή αγαθών, ορισμένες φορές, είναι δύσκολο να

τους στην Κρυπτογραφία και τα

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

Transcript:

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ31: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 017-018 Φροντιστήριο 5 1. Δικαιολογήστε όλες τις απαντήσεις σας. i. Δώστε τις 3 βασικές ιδιότητες ενός AVL δένδρου. ii. Δώστε τις βασικές ιδιότητες ενός -3 δένδρου. iii. Ποιά η διαφορά ενός δυαδικού δένδρου αναζήτησης από ένα AVL δένδρο; iv. Σωστό ή λάθος: Η απλά συνδεδεμένη λίστα με n κόμβους είναι ένα AVL δένδρο. Απάντηση: i. α) Είναι Δυαδικό Δένδρο. β) Για κάθε κόμβο του AVL δένδρου, όλα τα κλειδιά στο αριστερό υπόδενδρο του κόμβου είναι μικρότερα από το κλειδί του κόμβου και όλα τα κλειδιά στο δεξί υπόδενδρο του κόμβου είναι μεγαλύτερα από το κλειδί του κόμβου. γ) Για κάθε κόμβο του AVL δένδρου, τα υπόδενδρά του έχουν διαφορά ύψους το πολύ 1. ii. α) Κάθε κόμβος ενός -3 δένδρου περιέχει 1 ή κλειδιά. β) Αν ο κόμβος περιέχει 1 κλειδί τότε έχει δύο υπόδενδρα. Στο αριστερό υπόδενδρο βρίσκονται όλα τα κλειδιά μικρότερα του κλειδιο- ύ του κόμβου. Στο μεσαίο υπόδενδρο βρίσκοντα όλα τα κλειδιά μεγαλύτερα του κλειδιού του κόμβου. Αν ο κόμβος περιέχει κλειδιά τότε έχει τρία υπόδενδρα. Στο αριστερό υπόδενδρο βρίσκονται όλα τα κλειδιά μικρότερα του μικρότερου κλειδιού του κόμβου. Στο δεξί υπόδενδρο βρίσκοντα όλα τα κλειδιά μεγαλύτερα του μεγαλύτερου κλειδιού του κόμβου. Στο μεσαίο υπόδενδρο βρίσκονται όλα τα κλειδιά μεγάλυτερα του μικρότερου κλειδιού του κόμβου και μικρότερα του μεγαλύτερου κλειδιού του κόμβου. γ) Ολα τα φύλλα του -3 δένδρου βρίσκοντα στο ίδιο επίπεδο. iii. Σε ένα δυαδικό δένδρο, σε αντίθεση με το AVL δένδρο, δεν ισχύει απαραίτητα ότι για κάθε κόμβο του δένδρου, τα υπόδενδρά του έχουν διαφορά ύψους το πολύ 1. iv. Λάθος. Μια συνδεδεμένη λίστα μήκους 3 για αντί-παράδειγμα δεν είναι AVL δένδρο γιατί τα υπόδενδρα του πρώτου κόμβου της λίστας έχουν διαφορά ύψους.. Συμπληρώσετε το κάθε κελί (χ,ψ) του παρακάτω πίνακα με ναι εάν ένα Δένδρο τύπου γραμμής χ είναι ένα δένδρο τύπου στήλης ψ; διαφορετικά, εάν ένα δένδρο τύπου γραμμής χ δεν είναι ένα δένδρο τύπου στήλης ψ, συμπληρώστε με όχι, π.χ. το ναι στο κελί (1,1) δηλώνει πως ένα γενικό δένδρο είναι ένα γενικό δένδρο. 1

Δένδρο Δυαδικό Δ. Δυαδικό Δ. Αν. AVL Δ. -3 Δ. Β Δ. τάξης 10 Δένδρο Δυαδικό Δ. Δυαδικό Δ. Αν. AVL Δ. -3 Δ. Β Δ. τάξης 10 ναι Απάντηση Γεν. Δένδρο Δυαδικό Δ. Δυαδικό Δ. Αν. AVL Δ. -3 Δ. Β Δ. τάξης 3 Γεν. Δένδρο ναι όχι όχι όχι όχι όχι Δυαδικό Δ. ναι ναι όχι όχι όχι όχι Δυαδικό Δ. Αν. ναι ναι ναι όχι όχι όχι AVL Δ. ναι ναι ναι ναι όχι όχι -3 Δ. ναι όχι όχι όχι ναι ναι Β Δ. τάξης 3 ναι όχι όχι όχι ναι ναι 3. i. Εστω κενό AVL δένδρο. Κάνετε εισαγωγή με τη σειρά τα στοιχεία 0, 10, 13, 4, 31, 7, 81 και 19. Σχεδιάστε το δένδρο που προκύπτει κάθε φορά. Αν υπάρχει περιστροφή κάθε φορά, τί είδους περιστροφή είναι και σε ποιό κόμβο γίνεται; ii. Εστω κενό -3 δένδρο. Κάνετε εισαγωγή με τη σειρά τα στοιχεία 0, 10, 13, 4, 31, 7, 81 και 19. Σχεδιάστε το δένδρο που προκύπτει κάθε φορά. Απάντηση i. Εισαγωγή του 0. 0, 0 Εισαγωγή του 10. 0, 1 10,0 Εισαγωγή του 13. 0, Ανισοζυγία ΑΔ Περιστοφή 13, 1 10,1 10,0 0,0 13,0 Εισαγωγή του 4.

13, 10,0 0,1 4,0 Εισαγωγή του 31. 13, 10,0 0, Ανισοζυγία ΔΑ Περιστοφή 13, 4,1 10,0 31,1 31,0 0,0 4,0 Εισαγωγή του 7. 13, 3 Ανισοζυγία ΔΑ Περιστοφή 0, 10,0 31, 13,1 31,1 0,1 4,0 10,0 7,0 4,0 7,0 Εισαγωγή του 81. 0, 3 13,1 31, 10,0 7,0 4,1 81,0 Εισαγωγή του 19. 3

0, 3 13,1 31, 10,0 19,0 7,0 4,1 81,0 ii. Εισαγωγή του 0. 0 Εισαγωγή του 10. 10 0 Εισαγωγή του 13. 13 10 0 Εισαγωγή του 4. 13 10 0 4 Εισαγωγή του 31. 13 31 10 0 4 Εισαγωγή του 7. 13 31 10 0 7 4 Εισαγωγή του 81. 13 31 10 0 7 4 81 Εισαγωγή του 19. 4

0 13 31 10 19 7 4 8 4. Εστω κενό AVL δένδρο και λίστα κλειδιών Λ = [1,, 3, 4, 5, 6, 7]. (a) Να σχεδιάσετε το όταν εισαχθούν σε αυτό κατά σειρά τα κλειδιά της Λ. (b) Να συμπληρώσετε πιο κάτω τη συνάρτηση BinarySearchTree orderbst(binarysearchtree root, AVLTreeNode node) έτσι ώστε όταν εκτελεστεί η BinarySearchTree reorder(int n) να επιστραφεί ένα δυαδικό δένδρο αναζήτησης ύψους O(n 1). BinarySearchTree reorder ( i n t n) { AVLTree avl new AVLTree ( ) ; for ( i n t i 1 ; i < pow (, n) ; ++ i ) avl. i n s e r t ( i ) ; return orderbst ( new BinarySearchThree ( ), avl. root ) ; } BinarySearchTree orderbst ( BinarySearchTree root, AVLTreeNode node ) { } Απάντηση (a) 4,,1 6,1 1,0 3,0 5,0 7,0 (b) BinarySearchTree orderbst ( BinarySearchTree root, AVLTreeNode node ) { i f ( node. l e f t! null ) orderbst ( root, node. l e f t ) ; root. add ( node. data ) ; i f ( node. r i g h t! null ) orderbst ( root, node. r i g h t ) ; return root ; } 5

5. Εστω κενό AVL δένδρο και n στοιχεία. Δώστε άνω φράγμα της για την πολυπλοκότητα της διαδικασίας που εισάγει όλα τα στοιχεία στο AVL δένδρο. Δικαιολογήστε την απάντησή σας. Απάντηση Η εισαγωγή σε ένα δυαδικό δένδρο αναζήτησης έχει χρονική πολυπλοκότητα O(h) όπου h το ύψος του δένδρου. Το ύψος ενός AVL δένδρου εξαρτάται σε λογαριθμικό βαθμό από τα στοιχεία του. Συνεπώς η εισαγωγή ενός στοιχείου σε ένα AVL δένδρο έχει χρονική πολυπλοκότητα O(log(n)) όπου n τα στοιχεία του δένδρου. Η διαδικασία εισαγωγής n στοιχείων σε ένα κενό AVL δένδρο αυξάνει το ύψος του λογαριθμικά. n Συνεπώς ϑα χρειαστούν: log i O(n log n) βήματα. i=1 6. i. Υπολογίστε το μέγιστο αριθμό κόμβων που έχει ένα μη κενό AVL δένδρο συναρτήσει του ύψους του. ii. Αποδείξετε ότι το ύψος ενός μη κενού AVL δένδρου στη χειρότερη περίπτωση είναι της τάξης O(log (n)), όπου n ο αριθμός των κόμβων του δένδρου. iii. Σε ένα δυαδικό δένδρο αναζήτησης ένας κόμβος ονομάζεται μοναχοπαίδι αν έχει πατέρα και δεν έχει αδέρφια. Η κατανομή μοναξιάς ενός δένδρου T δίνεται από τον τύπο LR(T) = lc/n όπου lc είναι ο αριθμός των μοναχοπαιδιών του δένδρου T και n ο αριθμός των κόμβων του δένδρου T. Να αποδείξετε ότι για κάθε μη κενό AVL δένδρο T ισχύει ότι LR(T) 1/. i. Εστω Max(h) ο ελάχιστος αριθμός κόμβων AVL δένδρου ύψους h. Η αναδρομική εξίσωση υπολογισμού του Max(h) είναι: Max(0) = 1 Το μη κενό δένδρο ύψους 0 έχει μόνο ένα κόμβο - τη ρίζα. Max(h) = Max(h 1) + 1 Το μεγιστο μη κενό δένδρο ύψους h αποτελείται από μια ρίζα με δύο υπόδενδρα που έχουν το ίδιο ύψος. Αν τα δύο υπόδενδρα διέφεραν στο ύψος τότε το δένδρο δεν ϑα είχε το μέγιστο αριθμό κόμβων. Η επίλυση της πιο πάνω αναδρομική εξίσωσης γίνεται με τη μέθοδο της αντικατάστασης: Max(h) = Max(h 1) + 1 = ( Max(h ) + 1) + 1 = ( Max(h 3) + 1) + + 1 = 3 ( Max(h 4) + 1) + + 1 + 0 = 4 ( Max(h 5) + 1) + 3 + + 1 + 0. = h Max(h h) + h 1 + 3 + + 1 + 0 = h + h 1 + 3 + + 1 + 0 = h+1 1 ii. Αν ο μέγιστος αριθμός κόμβων ενός AVL δένδρου ύψους h είναι n = h+1 1 τότε h = log (n+1)+1 O(log n). iii. Θα αποδείξουμε την πρόταση με τη μέθοδο της επαγωγής. Πριν την αποδείξουμε όμως ϑα δείξουμε ότι κάθε AVL δένδρο με n > κόμβους έχει απαραίτητα η κενά υπόδενδρα στη ρίζα του. Εστω AVL δένδρο με n > κόμβους και με τη ρίζα να έχει μόνο 1 μη κενό υπόδενδρο. Άρα το υπόδενδρο έχει n > 1 κόμβους και άρα έχει ύψος h 1. Αυτό σημαίνει ότι τα υπόδενδρα της ρίζας του AVL δένδρου έχουν διαφορά ύψους μεγαλύτερη του 1. Αυτό οδηγεί σε αντίφαση γιατί παραβιάζεται η συνθήκη του AVL δένδρου. 6

Άρα κάθε AVL δένδρο με n > κόμβους έχει απαραίτητα μη κενά υπόδενδρα στη ρίζα του. Είμαστε έτοιμοι να αποδείξουμε την πρόταση με επαγωγή. Βασικό βήμα: Για μη κενό AVL δένδρο με ένα κόμβο έχουμε ότι η ρίζα δεν είναι μοναχοπαίδι γιατί δεν έχει πατέρα και άρα LR(T 1 ) = 0/1 = 0 1/. Για μη κενό AVL δένδρο με δύο κόμβους έχουμε ότι η ρίζα δεν είναι μοναχοπαίδι γιατί δεν έχει πατέρα αλλά το παιδί της ρίζας είναι μοναχοπαίδι και άρα LR(T ) = 1/ 1/. Επαγωγική υπόθεση: Υποθέτουμε ότι για κάθε AVL δένδρο με k < m κόμβους το LR(T k ) 1/. Επαγωγικό βήμα: AVL δένδρο με m κόμβους. Ενα δένδρο με T m με m κόμβους αποτελείται από μια ρίζα που δεν είναι μοναχοπαίδι και δύο υπόδενδρα που έχουν το κάθενα m 1 και m κόμβους αντίστοιχα. Σημείωση: m = m 1 + m + 1. Από την επαγωγική υπόθεση ξέρουμε ότι LR(T m1 ) = lc 1 1/ και LR(T m ) = lc 1/. Από m 1 m τα τελευταία αποτελέσματα μπορούμε να συμπεράνουμε ότι lc 1 + lc 1/ = lc 1 + lc 1/ (1) m 1 + m m 1 + m + 1 Από την παρατήρηση ότι κάθε AVL δένδρο με n > κόμβους έχει απαραίτητα μη κενά υπόδενδρα στη ρίζα του μπορούμε να συμπεράνουμε ότι οι ρίζες των δύο υπόδενδρων T m1 και T m δεν μπορεί να είναι μοναχοπαίδια στο δένδρο T m γιατί είναι μη κενά δένδρα και είναι αδέλφια. Επίσης η ρίζα του T m δεν είναι μοναχοπαίδι γιατί δεν έχει πατέρα. Άρα τα μοναχοπαίδια του δένδρου T m είναι lc 1 + lc. Η κατανομή μοναξιάς του δένδρου T m υπολογίζεται ως LR(T m ) = lc 1 + lc Το ζητούμενο m 1 + m + 1 έπεται από την εξίσωση (1). 7. Σας δίνεται ένας πίνακας από n ακεραίους με αρκετές επαναλήψεις στοιχείων έτσι που ο αριθμός των διακριτών στοιχείων του πίνακα να είναι της τάξης O(log n). Να κατασκευάσετε ένα αλγόριθμο ταξινόμησης ο οποίος να ταξινομεί τον πίνακα χρησιμοποιώντας αριθμό συγκρίσεων της τάξης O(n log log n). (Υπόδειξη: Μπορείτε να χρησιμοποιήσετε κάποια βοηθητική δενδρική δομή.) Απάντηση: Θα ορίσουμε τη δομή MultiAVL δένδρο επεκτείνοτας τη δομή δεδομένων AVL δένδρο έτσι ώστε να λαμβάνει υπόψη τον αριθμό επαναλήψεων στοιχείων ως εξής. Σε κάθε ϑέση του δένδρου φυλάγουμε ζεύγη της μορφής (k, n) όπου k είναι το αποθηκευμένο κλειδί και n είναι το πλήθος των επαναλήψεων του κλειδιού k μέσα στο δένδρο. Οι πράξεις του MultiAVLδένδρου ορίζονται ως εξής: Insert(k, T): Αναζήτησε στο δένδρο το κλειδί k. Αν υπάρχει σε ζεύγος (k, n) ανανέωσε την πληροφορία αυτή έτσι ώστε να λάβει υπόψη τη νέα εμφάνιση του k, δηλαδή (k, n) := (k, n + 1). Διαφορετικά, αν το k δεν υπάρχει στο δένδρο, εφάρμοσε τη γνωστή διαδικασία εισαγωγής σε AVL δένδρο για το ζεύγος (k, 1). InOrder(T): Τύπωσε τα στοιχεία του δένδρο σε αύξουσα σειρά με τη διαφορά ότι για κάθε κόμβο με κλειδί (k, n) τυπώνουμε το στοιχείο k, n φορές. Η διαδικασία Insert χρησιμοποιεί αριθμό εξακολουθεί να διατηρεί χρόνο εκτέλεσης της τάξης O(log n) όπου n είναι ο αριθμός των κόμβων του δένδρου, ενώ η διαδικασία InOrder εξαρτάται και από την πολλαπλότητα των στοιχείων του δένδρου. Υποθέτοντας υλοποίηση της δομής MultiAVL ορίζουμε τον πιο κάτω αλγόριθμο. 7

i n t A[ n ] ; MultiAVL B; MakeEmpty (B) ; for ( i 0; i < n ; i ++) I n s e r t (A[ i ], B) ; InOrder (B) ; Ο αλγόριθμος αυτός τοποθετεί τα στοιχεία του πίνακα σε ένα MultiAVL-δένδρο μέσω n διαδοχικών κλήσεων της Insert και στη συνέχεια τα τυπώνει σε αύξουσα σειρά μέσω κλήσης της InOrder. Παρατηρούμε ότι αφού ο πίνακας A περιέχει μόνο log n διαφορετικά στοιχεία, ο αριθμός κόμβων του δένδρου B αφού δημιουργηθεί ϑα είναι log n. Επομένως ο χρόνος εκτέλεσης της Insert ϑα είναι της τάξης O(log log n) και της InOrder O(n). Ετσι, ο χρόνος εκτέλεσης του πιο πάνω αλγόριθμου ταξινόμησης είναι O(n log log n + n) = O(n log log n), όπως ζητείται από την άσκηση. 8. Μηχανή αναζήτησης διαθέτει 3, 000, 000, 000, 000 κλειδιά, αποθηκευμένα σε εξωτερική μνήμη. Η φόρτωση ενός κόμβου x κλειδών στην κύρια μνήμη απαιτεί χρόνο 0.1111 x δευτερόλεπτα. Η ε- πεξεργασία ενός κόμβου x κλειδιών απαιτεί χρόνο log (x) δευτερόλεπτα. Υπολογίστε τον χρόνο αναζήτησης ενός κλειδιού εαν η δομή αναπαράστασης των κλειδιών είναι Β Δένδρο τάξης 9. Απάντηση Ο χρόνος αναζήτησης ενός Β Δένδρου είναι ίσος με: ύψος του δένδρου χρόνος επεξεργασίας ενός κόμβου. Το ύψος του δένδρου είναι log 10 3, 000, 000, 000, 000 = 1 + log 10 3. Ο χρόνος επεξεργασίας του κόμβου είναι: Ο χρόνος φόρτωσης του κόμβου στην κύρια μνήμη + ο χρόνος επεξεργασίας ενός φορτωμένου κόμβου. Άρα: (0.1111 9) + log 9 1 + log 9. Ο συνολικός χρόνος εκτέλεσης είναι (1 + log 10 3)(1 + log 9). 8