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

Σχετικά έγγραφα
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Ουρές προτεραιότητας Κεφάλαιο 9. Ε. Μαρκάκης Επίκουρος Καθηγητής

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

8. Σωροί (Heaps)-Αναδρομή- Προχωρημένη Ταξινόμηση

Αλγόριθμοι Ταξινόμησης Μέρος 2

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

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

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

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης

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

Δοµές Δεδοµένων. 12η Διάλεξη Διάσχιση Δέντρων και Ουρές Προτεραιότητας. Ε. Μαρκάκης

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS)

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

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

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

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

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

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Εξωτερική Αναζήτηση και Β-δέντρα Κεφάλαιο 16. Ε. Μαρκάκης Επίκουρος Καθηγητής

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

Προγραμματιστικές Τεχνικές

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

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

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

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

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

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

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

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

Δοµές Δεδοµένων. 16η Διάλεξη Κατακερµατισµός. Ε. Μαρκάκης

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

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

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Heapsort Using Multiple Heaps

ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος

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

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

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

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

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

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

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

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

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

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

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

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

Κεφάλαιο 10 Ψηφιακά Λεξικά

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

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Δέντρα Δυαδικής Αναζήτησης Κεφάλαιο 12 ( ) Ε. Μαρκάκης Επίκουρος Καθηγητής

Red-Black Δέντρα. Red-Black Δέντρα

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

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

Ο αλγόριθμος Quick-Sort. 6/14/2007 3:42 AM Quick-Sort 1

Ουρές προτεραιότητας

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

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

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

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

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

Union Find, Λεξικό. Δημήτρης Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών. Εθνικό Μετσόβιο Πολυτεχνείο

Περιεχόμενα. Περιεχόμενα

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

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

Κεφάλαιο 6 Ουρές Προτεραιότητας

Πρόβληµα (ADT) Λεξικού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2

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

Δομές δεδομένων (2) Αλγόριθμοι

Α Β Γ static; printf("%c\n", putchar( A +1)+2); B DB BD. int i = 0; while (++i); printf("*");

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

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

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

Προγραμματιστικές Τεχνικές

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

Ουρά Προτεραιότητας (priority queue)

Διάλεξη 21η: Απλά Συνδεδεμένες Λίστες

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

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

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

Ταξινόμηση με συγχώνευση Merge Sort

9. Κόκκινα-Μαύρα Δέντρα

Ταξινόμηση κάδου και ταξινόμηση Ρίζας Bucket-Sort και Radix-Sort

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

Θεωρητικό Μέρος. int rec(int n) { int n1, n2; if (n <= 5) then return n; else { n1 = rec(n-5); n2 = rec(n-3); return (n1+n2); } }

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)

Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012

Transcript:

ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και 30 λεπτά Απαντήστε σε όλα τα θέµατα Θέµα 1 2 3 4 5 6 Σύνολο: Βαθµός 1

ΘΕΜΑ 1 (12 µονάδες) Απαντήστε στις παρακάτω ερωτήσεις. Δεν χρειάζεται να δικαιολογήσετε την απάντησή σας. Απλώς κυκλώστε τις σωστές απαντήσεις (ενδέχεται να υπάρχει παραπάνω από µία σωστή απάντηση ή να µην υπάρχει καµία σωστή απάντηση). Δεν υπάρχει αρνητική βαθµολόγηση, για να πάρετε όµως όλες τις µονάδες πρέπει να κυκλώσετε όλες τις σωστές απαντήσεις. Όπου εµφανίζονται λογάριθµοι παρακάτω χωρίς να αναγράφεται ρητά η βάση τους, εννοείται ότι είναι το 2. 1. 4n 5 + n 3 30n 2 + 100n = a. O(n 2 ) b. O(n 4 ) c. O(n 8 ) d. O(n!) 2. Οι µέθοδοι ταξινόµησης Quicksort και Heapsort έχουν a. τις ίδιες απαιτήσεις µνήµης b. την ίδια πολυπλοκότητα χειρότερης περίπτωσης c. την ίδια πολυπλοκότητα µέσης περίπτωσης d. περίπου την ίδια απόδοση στην πράξη σε τυχαία δεδοµένα 3. Σε ένα Β-δέντρο µε παράµετρο Μ, και µε n αντικείµενα, ο χρόνος αναζήτησης στη χειρότερη περίπτωση είναι a. Ο(logn) b. O((log Μ n) 5 ) c. O(log 4 (log Μ n)) d. O(n 2 ) 4. Σε ένα στρεβλό δέντρο δυαδικής αναζήτησης µε n κόµβους, ο χρόνος αναζήτησης στη χειρότερη περίπτωση είναι a. Ο(logn) b. O(n) c. O(loglogn) d. O(n 2 ) 5. Έστω η αναδροµική σχέση f(n) = f(n-1) + n, για n 2, και f(1) = 1. Τότε f(n) = a. O(nlogn) b. O(n) c. O(n 2 ) d. O(n(logn) 2 ) 6. Ο αλγόριθµος σταθµισµένης γρήγορης ένωσης a. έχει καλύτερη απόδοση από τον αλγόριθµο γρήγορης ένωσης b. εκτελεί γρήγορα τόσο τις λειτουργίες ένωσης όσο και τις λειτουργίες εύρεσης c. σε σχέση µε τον αλγόριθµο γρήγορης εύρεσης, εκτελεί πιο γρήγορα τις λειτουργίες ένωσης αλλά πιο αργά τις λειτουργίες εύρεσης d. έχει καλύτερη απόδοση από τον αλγόριθµο γρήγορης εύρεσης 2

ΘΕΜΑ 2 (14 µονάδες) Δίνεται ο ακόλουθος ορισµός των κόµβων ενός δυαδικού δέντρου. class Node { int key; Node l, r; Node(int x) {key = x; l = r = null; }} (α) Συµπληρώστε τον κώδικα που λείπει παρακάτω έτσι ώστε η µέθοδος traverse(node h), να κάνει ενδοδιατεταγµένη (inorder) διάσχιση σε ένα δέντρο ξεκινώντας από τον κόµβο h, και όταν επισκέπτεται έναν κόµβο, να µεταβάλλει την τιµή του κλειδιού σύµφωνα µε τη συνάρτηση f(k) = k mod 11, και να τυπώνει τη νέα τιµή. Δεν είναι απαραίτητο να συµπληρώσετε όλα τα κενά στον παρακάτω κώδικα για να είναι σωστή η υλοποίηση. void traverse(node h) { if (...) return;...... h.key =...; System.οut.println(...);... }... 3

(β) Συµπληρώστε τον κώδικα που λείπει παρακάτω έτσι ώστε η µέθοδος Node insert(node h, int x) να υλοποιεί αναδροµικά την εισαγωγή ενός κόµβου µε τιµή κλειδιού 2x+1, σε ένα δέντρο δυαδικής αναζήτησης (εισαγωγή σε φύλλο), όταν καλείται µε παραµέτρους τη ρίζα του δέντρου h και το κλειδί x. Αν η τιµή 2x+1 υπάρχει ήδη στο δέντρο, η µέθοδος επιστρέφει null, διαφορετικά επιστρέφεται η ρίζα του δέντρου. Δεν επιτρέπεται να χρησιµοποιήσετε οποιαδήποτε άλλη έτοιµη µέθοδο. Node insert(node h, int x) { if (...) { } return...;... } if (...)... if (...)......... 4

ΘΕΜΑ 3 (15 µονάδες) (α) Έστω ότι έχουµε ένα σωρό που υποστηρίζει τις βασικές λειτουργίες insert και getmax, όπως τις είδαµε και στο µάθηµα. Ο σωρός αρχικά έχει την ακόλουθη µορφή (το στοιχείο στη θέση 0 του πίνακα δεν χρησιµοποιείται, για αυτό και το στοιχείο 20 είναι στη θέση 1): 20 13 15 8 9 Σχεδιάστε την αναπαράσταση του σωρού ως πλήρες δυαδικό δέντρο (όπως έχουµε πει, κάθε σωρός µπορεί να αναπαρασταθεί µε µοναδικό τρόπο ως ένα πλήρες δυαδικό δέντρο). Έστω ότι ξεκινώντας από το σωρό αυτό, εισάγουµε διαδοχικά τα στοιχεία 25, 22, 28, σύµφωνα µε τη µέθοδο insert, που έχουµε δει για εισαγωγή σε σωρό. Να σχεδιάσετε το πλήρες δυαδικό δέντρο που προκύπτει για τον σωρό, όταν ολοκληρώνεται κάθε κλήση της insert. 5

(β) Εφαρµόστε τον αλγόριθµο εισαγωγής στη ρίζα για να εισάγετε το κλειδί 33 στο παρακάτω δέντρο δυαδικής αναζήτησης. Σχεδιάστε το δέντρο που προκύπτει µετά από κάθε απαιτούµενη περιστροφή, µέχρι να έρθει το 33 στη ρίζα. 6

ΘΕΜΑ 4 (12 µονάδες) (α) Έστω ότι εφαρµόζετε κατακερµατισµό µε γραµµική διερεύνηση σε 6,000 αντικείµενα, και έχετε χρησιµοποιήσει πίνακα µεγέθους 12,000. Έστω ότι για τον ίδιο αριθµό αντικειµένων θέλετε να έχετε και ένα σύστηµα που χρησιµοποιεί χωριστή αλυσίδωση και έχει τον ίδιο µέσο όρο διερευνήσεων για ανεπιτυχείς αναζητήσεις µε το προηγούµενο. Ποιο θα πρέπει να είναι το µέγεθος του πίνακα στη χωριστή αλυσίδωση; Για ανεπιτυχείς αναζητήσεις, το µέσο πλήθος διερευνήσεων στη γραµµική διερεύνηση είναι (1 + 1/(1-α) 2 )/2, όπου α ο συντελεστής φορτίου. (β) Να συγκρίνετε το µέσο πλήθος διερευνήσεων για επιτυχείς αναζητήσεις στα 2 συστήµατα. Για επιτυχείς αναζητήσεις στη γραµµική διερεύνηση, το µέσο πλήθος διερευνήσεων είναι (1 + 1/(1- α))/2. 7

ΘΕΜΑ 5 (15 µονάδες) (α) Θέλετε να υλοποιήσετε ένα ευρετήριο για κάποια εφαρµογή, και αποφασίζετε να χρησιµοποιήσετε πίνακα για την αποθήκευση των αντικειµένων. Αν ξέρετε ότι στην εφαρµογή αυτή γίνονται αρκετά περισσότερες αναζητήσεις έναντι εισαγωγών/διαγραφών, θα χρησιµοποιήσετε ταξινοµηµένο ή αταξινόµητο πίνακα; Δικαιολογήστε την απάντησή σας. (β) Διατάξτε τις ακόλουθες συναρτήσεις µε βάση τον αυξητικό τους χαρακτήρα, δηλαδή βρείτε µια διάταξη f 1,, f 8 των συναρτήσεων η οποία να ικανοποιεί τις σχέσεις f 1 = O(f 2 ), f 2 = O(f 3 ),, κ.ο.κ. (η λύση µπορεί να µην είναι µοναδική, εσείς απλά γράψτε µία διάταξη που να ικανοποιεί τις σχέσεις αυτές). Σε όσους λογαρίθµους παρακάτω δεν εµφανίζεται η βάση τους, θεωρήστε πως είναι ίση µε 2. n 4 n 1/4 log(n 4 ) n 3 logn n n log 4 n 3 4 nlogn n 4logn 8

(γ) Ορισµός: Ένα δυαδικό δέντρο ονοµάζεται µεταδιατεταγµένο αντιταξινοµηµένο δέντρο αν η µεταδιατεταγµένη διάσχιση δίνει τα κλειδιά που είναι αποθηκευµένα στους κόµβους του δέντρου σε φθίνουσα διάταξη. Σχεδιάστε ένα δυαδικό µεταδιατεταγµένο αντιταξινοµηµένο δένδρο µε ύψος το πολύ 4, που να περιέχει τα κλειδιά 2, 4, 6, 8, 10, 12, 14, 16, 18, 20. 9

ΘΕΜΑ 6 (12 µονάδες) Έστω το εξής δέντρο 2-3-4: (α) Σχεδιάστε ένα ισοδύναµο δέντρο κόκκινου-µαύρου. (β) Να εισάγετε µε ανοδική εισαγωγή το κλειδί 14. Σχεδιάστε το νέο δέντρο 2-3-4 που θα προκύψει καθώς και το ισοδύναµο δέντρο κόκκινου-µαύρου. (γ) Στο δέντρο που προέκυψε από το ερώτηµα (β) κάντε ανοδική εισαγωγή του κλειδιού 38. Ξανασχεδιάστε το νέο δέντρο 2-3-4 και το ισοδύναµο κόκκινου-µαύρου. 10

11

12