Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

Σχετικά έγγραφα
Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

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

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

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

Κατακερματισμός (Hashing)

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

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

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

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

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

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

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

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

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

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

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

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

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

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

Βάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o

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

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Κεφ.11: Ευρετήρια και Κατακερματισμός

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

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

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

Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Πείραμα 2 Αν αντίθετα, στο δοχείο εισαχθούν 20 mol ΗΙ στους 440 ºC, τότε το ΗΙ διασπάται σύμφωνα με τη χημική εξίσωση: 2ΗΙ(g) H 2 (g) + I 2 (g)

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

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

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

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

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

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

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

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

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

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

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Διαχρονικές δομές δεδομένων

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

Δυναμικός Κατακερματισμός

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

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας

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

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

Προγραμματιστική Εργασία Μέρος Β. Δρακωνάκης Κώστας Παπαϊωάννου Αντώνης

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

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

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

Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n

Αριθμητική Ανάλυση και Εφαρμογές

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

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

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

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

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

Εργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης

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

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

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

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

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Τα αλφαριθμητικά αποτελούνται από γράμματα, λέξεις ή άλλους χαρακτήρες (π.χ. μήλο, Ιούλιος 2009, You win!).

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

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

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

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

κ.λπ. Ισχύει πως x = 100. Οι διαφορετικές λύσεις αυτής της εξίσωσης χωρίς κανένα περιορισμό είναι

Κεφάλαιο 5. Κεφ. 5 Λειτουργικά Συστήματα 1

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

Διάλεξη 13: Δέντρα ΙΙΙ - Ισοζυγισμένα Δέντρα, AVL Δέντρα

Δυναμική Διατήρηση Γραμμικής Διάταξης

Προγραμματισμός με Logo στο MicroWorlds Pro

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

Εργαστήριο «Βάσεις Οικολογικών Δεδομένων και Εφαρμογές»

Οι λίστες, χάνοντας τα πλεονεκτήματα των πινάκων, λύνουν προβλήματα που παρουσιάζουν οι πίνακες

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

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

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

Ταξινόμηση. Σαλτογιάννη Αθανασία

Φίλη μαθήτρια, φίλε μαθητή,

Το διαστημόπλοιο. Γνωστικό Αντικείμενο: Φυσική (Δυναμική σε μία διάσταση - Δυναμική στο επίπεδο) Τάξη: Α Λυκείου

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

Ανάλυση Ηλεκτρικών Κυκλωμάτων με Αντιστάσεις

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

panagiotisathanasopoulos.gr

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης

ΒΑΣΙΚΑ ΚΛΕΙΔΙΑ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ

Transcript:

Άσκηση 1 α) Παρουσιάστε τα AVL δέντρα που προκύπτουν από τις εισαγωγές των κλειδιών 1, 4, 9,, 7,,, 1, 4 και σε ένα αρχικά άδειο AVL δέντρο με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι +4 +9 + 1 1 1 1 +7 4 4 9 4 9 1 L 1 R 1 4 7 4 9 4 9 L 7 9 R 7 + 1 + 1 4 7 4 7 9 9

+1 1 +4 1 4 7 4 L 7 9 9 R 1 1 4 L 1 R 1 4 7 4 9 7 1 4 9 1 4 Τελικό: 1 4 7 1 4 9

Άλλος τρόπος: β) Παρουσιάστε το δέντρο που προκύπτει αν το κλειδί 1 διαγραφεί από το δέντρο του ερωτματος α.

Άσκηση 2 α) Παρουσιάστε τα 2- δέντρα που προκύπτουν από τις εισαγωγές των κλειδιών, 1, 1, 2, 2,,, 4, (με τη σειρά που δίνονται) σε ένα αρχικά άδειο 2- δέντρο. Με διακεκομμένους κόμβους συμβολίζονται οι φάσεις ανάμεσα στην εισαγωγ και στη τελικ μορφ των κόμβων. + +1 +1 1 1 1 1 +2 1 1 1 2 +2 1 1 2 1 2 2 1 2 + 1 2 + 1 2 1 2 1 2 1 2 2 1 1 2 1 2

+4 +4 2 2 1 1 1 2 4 1 2 4 4 2 + 2 1 4 1 4 1 2 4 1 2 4

β) Παρουσιάστε τα δέντρα που προκύπτουν από τις διαγραφές των κλειδιών 2,, από το δέντρο του ερωτματος α. Διαγραφ του κλειδιού 2: διαγράφοντας το κλειδί αυτό, ο κόμβος με τα στοιχεία και 4 δε μπορεί να έχει μόνο δύο παιδιά, γιατί δεν υπάρχουν στοιχεία μικρότερα του. Επομένως, θα «κατέβει» το μαζί με το. Έτσι θα έχουμε στοιχεία μικρότερα και μεγαλύτερα του 4, όπως φαίνεται στο δεύτερο σχμα 2 1 4 1 4 Διαγραφ του κλειδιού : η διαγραφ αυτ δε θα επηρεάσει καθόλου τη δομ του δέντρου και τις θέσεις των στοιχείων. Επομένως, μετά τη διαγραφ του το 4 θα εξακολουθεί να έχει αριστερό παιδί το κόμβο με το κλειδί και δεξί το κόμβο με τα στοιχεία 4 και. 2 1 4 1 4

Διαγραφ του κλειδιού : με τη διαγραφ του στοιχείου αυτού, θα πραγματοποιηθεί περιστροφ μεταξύ του κόμβου με το κλειδί 4 και του δεξιού παιδιού του, τέτοια ώστε να γίνει το 4 ρίζα και τα 4 και αριστερό και δεξί παιδί του αντίστοιχα, όπως φαίνεται το τελευταίο σχμα. 2 1 4 1 4

Άσκηση Χρησιμοποιστε τη συνάρτηση κατακερματισμού της διαίρεσης ως πρωτεύουσα συνάρτηση κατακερματισμού και τη συνάρτηση h(k)=(k+) % m ως δευτερεύουσα συνάρτηση κατακερματισμού να εισαχθούν τα κλειδιά, 1, 7, 44, 29, 7 και 2 σε ένα πίνακα 7 θέσεων, ο οποίος είναι οργανωμένος με τη μέθοδο: a. της αλυσίδας b. των μικτών αλυσίδων c. των μικτών αλυσίδων με κελάρι ων θέσεων d. της γραμμικς αναζτησης e. του διπλού κατακερματισμού f. του ταξινομημένου κατακερματισμού με ανοιχτ διεύθυνση h(k) = k%7 (αφού ο πίνακας είναι 7 θέσεων). Σε ποια θέση θα μπει το κάθε στοιχείο, καθορίζεται, από το υπόλοιπο της διαίρεσης της τιμς του αριθμού με το πλθος θέσεων του πίνακα. Επομένως: % 7 = 1 1 % 7 = 1 7 % 7 = 2 44 % 7 = 2 7 % 7 = 2 % 7 = 2 α. Μέθοδος της Αλυσίδας με τη μέθοδο αυτ το κάθε στοιχείο με τη σειρά εισάγεται στη θέση του πίνακα, με βάση αυτ που δηλώνει το υπόλοιπό του. 4 2 1 [7, 44, 2] [, 1, 29] [7] β. Μέθοδος των Μικτών αλυσίδων Τα στοιχεία εισάγονται με τη σειρά στο πίνακα στην κατάλληλη θέση. Ο πίνακας εκτός από την αποθκευση των δεδομένων, περιέχει και μια στλη για αποθκευση των δεικτών. Αρχικά, όλα τα πεδία next των στοιχείων είναι Λ. Όταν συμβεί σύγκρουση, αναζητείται η πρώτη διαθέσιμη θέση από τη θέση του πίνακα. Η θέση που τελικά αποθηκεύεται το στοιχείο αυτό δηλώνεται στο πεδίο next του στοιχείου αυτού που προκάλεσε τη σύγκρουση Εισαγωγ Εισαγωγ 1 Εισαγωγ 7 Εισαγωγ 44 Λ Λ 4 Λ Λ 2 Λ 1 Λ Λ Λ Λ 4 Λ Λ 2 Λ 1 1 Λ Λ Λ 4 Λ Λ 2 7 Λ 1 1 Λ Λ Λ 4 Λ 44 Λ 2 7 1 1 Λ

Εισαγωγ 29 Εισαγωγ 7 Εισαγωγ 2 Λ Λ 4 29 Λ 44 Λ 2 7 1 1 Λ Λ 7 Λ 4 29 Λ 44 Λ 2 7 1 1 2 Λ 7 Λ 4 29 Λ 44 Λ 2 7 1 1 γ. Μέθοδος μικτών Αλυσίδων, με κελάρι ων θέσεων Ακολουθούμε τη παραπάνω μέθοδο, με τη διαφορά, ότι χρησιμοποιούμε τις πρώτες θέσεις ως κελάρι. Εισαγωγ Εισαγωγ 1 Εισαγωγ 7 Εισαγωγ 44 Λ Λ 4 Λ Λ 2 Λ 1 Λ Λ Λ Λ 4 Λ 2 Λ 1 Λ 1 Λ Λ 7 Λ 4 Λ 2 Λ 1 Λ 1 Λ Λ 7 1 4 Λ 2 Λ 1 44 Λ 1 Λ Εισαγωγ 29 Εισαγωγ 7 Εισαγωγ 2 Λ 7 1 4 Λ 2 29 Λ 1 44 Λ 1 Λ Λ 7 1 4 7 Λ 2 29 Λ 1 44 Λ 1 Λ 2 Λ 7 1 4 7 Λ 2 29 Λ 1 44 Λ 1 Λ δ. Γραμμικ Αναζτηση - Κατακερματισμός με Ανοιχτ Διευθυνσιοδότηση Κάθε κλειδί της αλυσίδας εισάγεται στη κατάλληλη θέση ανάλογα με το αποτέλεσμα του υπολοίπου k%7. Αν η θέση αυτ είναι κατηλυμένη, το στοιχείο αυτό εισάγεται στη πρώτη επόμενη διαθέσιμη. Εισαγωγ Εισαγωγ 1 Εισαγωγ 7 Εισαγωγ 44 Εισαγωγ 29 4 2 1 4 2 1 1 4 7 2 1 1 4 44 7 2 1 1 29 4 44 7 2 1 1

Εισαγωγ 7 Εισαγωγ 2 29 4 44 7 2 1 1 7 2 29 4 44 7 2 1 1 7 ε. Κατακερματισμός με Ανοιχτ Διευθυνσιοδότηση Διπλός Κατακερματισμός Κάθε κλειδί της αλυσίδας εισάγεται στη κατάλληλη θέση ανάλογα με το αποτέλεσμα του υπολοίπου k%7. Αν η θέση αυτ είναι κατηλυμένη, το στοιχείο αυτό εισάγεται στη τρίτη συνεχόμενη θέση του πίνακα. Αν και αυτ δεν είναι διαθέσιμη, συνεχίζουμε την αναζτηση για την επόμενη τρίτη διαθέσιμη θέση. Εισαγωγ : εισάγεται κανονικά στη θέση 1 του πίνακα γιατί h(k)=%7=1. Δε γίνεται κάποια σύγκρουση. 4 2 1 Εισαγωγ 1 : το στοιχείο 1 εισάγεται κανονικά στη θέση 1 του πίνακα, όμως εκεί βρίσκεται το, οπότε εκτελείται η δεύτερη συνάρτηση κατακερματισμού η οποία είναι h(k)=(k+) % m, άρα εισάγεται στη θέση 4 (τρεις θέσεις μετά από την αρχικ) 4 1 2 1 Εισαγωγ 7: το στοιχείο αυτό εισάγεται στη θέση 2, σύμφωνα με το υπόλοιπο της διαίρεσης. Δε πραγματοποιείται κάποια σύγκρουση, επομένως εισάγεται κανονικά εκεί. 4 1 2 7 1

Εισαγωγ 44: ομοίως με το κλειδί 1, κανονικά εισάγεται στη θέση 2, αλλά εφόσον δη υπάρχει το κλειδί 7, πραγματοποιείται σύγκρουση και εισάγεται θέσεις μετά, δηλαδ στη θέση. 44 4 1 2 7 1 Εισαγωγ 29: με την εισαγωγ του κλειδιού 29 πραγματοποιούνται 2 συγκρούσεις σειριακά. Η πρώτη όταν εισάγεται στη θέση στην οποία σύμφωνα με το υπόλοιπο h(k)=29%7=1, θα έπρεπε να εισαχθεί στη θέση 1 και η δεύτερη παρατηρείται στη θέση 4, τρεις θέσεις μετά, όπου πάλι υπάρχει κάποιο άλλο στοιχείο, το 1. Οπότε, μετατοπίζεται θέσεις ακόμα και τελικά εισάγεται στη θέση. 44 4 1 2 7 1 29 Εισαγωγ 7: κατά την εισαγωγ του κλειδιού 7, πραγματοποιούνται όλες οι παραπάνω συγκρούσεις (για το 29) και μια ακόμα, αυτ με το κλειδί 29, οπότε μετατοπίζεται θέσεις ακόμα και επομένως εισάγεται τελικώς στη θέση 44 4 1 7 2 7 1 29 Εισαγωγ 2: το κλειδί αυτό θα πρέπει να εισαχθεί στη θέση 2 του πίνακα. Όμως, υπάρχει το στοιχείο 7, όποτε έχουμε σύγκρουση στο σημείο αυτό και εκτελείται η δεύτερη συνάρτηση κατακερματισμού η οποία είναι h(k)=(k+) % m, άρα θα πρέπει να εισαχθεί στη θέση (τρεις θέσεις μετά από την αρχικ). Εκεί βρίσκεται το στοιχείο 44, οπότε για δεύτερη φορά πραγματοποιείται σύγκρουση και μετατίθεται στη θέση 1,όπου και εκεί η θέση δεν είναι άδεια (). Μετά από τη τρίτη σύγκρουση γίνεται μια τέταρτη, στη θέση 4 με το κλειδί 1, μια πέμπτη στη θέση με το κλειδί 29, μια έκτη στη θέση με το κλειδί 7 και τελικώς, εισάγεται στη θέση. 2 44 4 1 7 2 7 1 29

στ. Ταξινομημένος Κατακερματισμός με Ανοιχτ Διευθυνσιοδότηση Τα κλειδιά διατηρούνται ταξινομημένα σε κάθε αλυσίδα. Κάθε φορά που εισάγεται ένα κλειδί, ελέγχουμε αν είναι μεγαλύτερο όχι από το στοιχείο που βρίσκεται δη στη θέση αυτ. Το όποιο στοιχείο πρέπει να μετατοπιστεί, γίνεται με τριών θέσεων μετατόπιση. Εισαγωγ : εισάγεται κανονικά στη θέση 1 του πίνακα. 4 2 1 Εισαγωγ 1: η θέση του είναι στη θέση 1, εκεί όπου βρίσκεται το. Όμως, επειδ το 1<, φεύγει το και στη θέση 1 εισάγεται το 1. Το θα μετατοπιστεί θέσεις παραπάνω, σύμφωνα με τη δεύτερη συνάρτηση κατακερματισμού. Οπότε η τελικ μορφ είναι όπως φαίνεται και στο σχμα η δεύτερη στλη 4 2 1 1 Εισαγωγ 7: Το κλειδί 7 εισάγεται κανονικά στη θέση 2, αφού δε πραγματοποιείται κάποια σύγκρουση. 4 2 7 1 1 Εισαγωγ 44: το κλειδί 44 εισάγεται κανονικά στη θέση 2, όπου εκεί υπάρχει το 7 άρα πραγματοποιείται σύγκρουση. Συγκρίνοντας τα δύο στοιχεία αυτά, το 44>7, άρα το 7 παραμένει στη θέση του και το 44 μετατοπίζεται τελικώς τρεις θέσεις πιο πέρα, δηλαδ στη θέση. 44 4 2 7 44>7 1 1

Εισαγωγ 29: Το κλειδί 29 θα πρέπει να εισαχθεί στη θέση 1. Όμως εκεί βρίσκεται το 1, όπου συγκρούονται. Μετά από τη σύγκριση των δύο κλειδιών αυτών το 29 > 1, άρα το 1 παραμένει στη θέση του και μέσω της δεύτερης συνάρτησης κατακερματισμού, το 29 μετατοπίζεται θέσεις πιο πάνω, δηλαδ στη 4. Εκεί συγκρούεται με το, το οποίο είναι μεν μεγαλύτερο από το 29, αλλά επειδ είναι προς το παρόν το μεγαλύτερο στοιχείο που έχει εισαχθεί και δε γίνεται να μεταφερθεί σε χαμηλότερη θέση, παραμένει στη θέση αυτ και το 29 μετατοπίζεται σε άλλες τρεις θέσεις πιο κάτω, οπότε τελικά εισέρχεται στη θέση 44 4 29< 2 7 1 1 29>1 29 Εισαγωγ 7: το κλειδί αυτό εισέρχεται κανονικά στη θέση, αλλά συγκρούεται με το 29, που βρίσκεται δη εκεί οπότε καταλγει θέσεις πιο πάνω, στη θέση 44 4 7 2 7 1 1 29 7>29

Εισαγωγ 2: Το κλειδί αυτό δημιουργεί όπως και στο προηγούμενο ερώτημα πολλές συγκρούσεις, οι οποίες εμφανίζονται παρακάτω μία προς μία. Το 2 εισάγεται κανονικά στη θέση 2 (2%7=2). Όμως 2<7 και το 7 είναι μικρότερο από άλλα στοιχεία που βρίσκονται αποθηκευμένα σε παρακάτω θέσεις του πίνακα, οπότε διαγράφεται το 7 και στη θέση του μπαίνει το 2. Το 7 μετατοπίζεται τρεις θέσεις πιο πάνω, και συγκρούεται, με το 44 και το διαγράφει, μιας και είναι μικρότερο από αυτό, αλλά όχι και το μικρότερο στοιχείο του πίνακα. Το 44 συγκρούεται με το 1, μετρώντας τρεις θέσεις δηλαδ, αλλά είναι μεγαλύτερο, όποτε δεν αλλάζει κάτι στη διάταξη. Στη συνέχεια, συγκρούεται με το, που τώρα είναι μικρότερο, οπότε το διαγράφει από τη θέση αυτ και παίρνει τη θέση του. Το κλειδί, εν συνεχεία, συγκρούεται με το 29, που βρίσκεται τρεις θέσεις παρακάτω, αλλά είναι μεγαλύτερο, άρα δεν επηρεάζεται κάτι, δε συμβαίνει όμως το ίδιο και με το 7, όπου <7, άρα παίρνει τη θέση του. Τέλος το 7 εισάγεται στην άδεια θέση, όπου εκεί δε πραγματοποιείται καμία σύγκρουση απλά εισάγεται 7 7 44 7<44 7 7 4 44< 44 44 7 <7 2 7 2<7 2 2 1 1 44<1 1 29 <29 29

Άσκηση 4 α) Έστω ότι τα κλειδιά με τιμές κατακερματισμού, 111 και 11111 εισάγονται διαδοχικά (το ένα μετά το άλλο) στον επεκτάσιμο πίνακα κατακερματισμού του Σχματος_1. Θεωρστε ότι για αυτόν τον πίνακα ισχύει ότι b=4. Παρουσιάστε τους πίνακες κατακερματισμού που προκύπτουν μετά από κάθε εισαγωγ (καθώς και τη διαδικασία που οδηγεί στο τελικό αποτέλεσμα σε κάθε περίπτωση). Εισαγωγ : το κλειδί αυτό θα πρέπει να εισαχθεί στη πρώτη γραμμ του πίνακα, γιατί τα δυο πρώτα στοιχεία του είναι τα. Όμως εκεί υπάρχουν τέσσερα κλειδιά και επειδ b=4, δεν έχει άλλο χώρο. Συνεπώς είναι απαραίτητη η αύξηση του βάθους του πίνακα κατακερματισμού, από δύο σε τρία. Αυτό σημαίνει ότι πλέον θα παίζουν ρόλο τα τρία πρώτα ψηφία των κλειδιών αυτών. Άρα, ο παραπάνω πίνακας θα γίνει τώρα έτσι: 1 1 11 1 11 11 111 1, 1 1, 11 1, 11 2 11, 111, 111, 1111 1 Τώρα είμαστε σε θέση να εισάγουμε το, μιας και έχει χώρο, οπότε ο πίνακας έγινε τώρα, όπως φαίνεται παρακάτω: 1 1 11 1 11 11 111 1, 1, 1, 11 1, 11 2 11, 111, 111, 1111 1 Να σημειώσουμε, βέβαια, ότι τα κλειδιά που ξεκινάνε από 1 είναι τέσσερα, επομένως, μπορούν όλα να μπουν σε μια γραμμ πίνακα.

Εισαγωγ 111: με βάση το προηγούμενο, το κλειδί αυτό ξεκινάει με τη μονάδα, άρα δεν υπάρχει χώρος να εισαχθεί στη τελευταία γραμμ, όπου κανονικά είναι η θέση του, οπότε γίνεται διασπάται η τελευταία γραμμ. Όσα κλειδιά ξεκινάνε από 1 (δηλαδ το δεύτερο ψηφίο να είναι, δεδομένου το πρώτο ότι είναι ένα) εισάγονται στη τέταρτη γραμμ και όσα ξεκινάνε από 11 εισάγονται στη τελευταία. Άρα το κλειδί 111, θα εισαχθεί όπως φαίνεται παρακάτω: 1 1 11 1 11 11 111 1, 1, 1, 11 1, 11 2 11, 111, 1111, 111 2 111 2 Εισαγωγ 11111: το κλειδί αυτό, εφόσον ξεκινάει με 11 θα εισαχθεί στη τελευταία γραμμ του πίνακα και αφού δεν έχουν συμπληρωθεί οι θέσεις, μπορεί να εισαχθεί κανονικά χωρία κάποια άλλη αλλαγ - διάσπαση σχετικά με το βάθος του κάδου. 1 1 11 1 11 11 111 1, 1, 1, 11 1, 11 2 11, 111, 1111, 111 2 111, 11111 2

β) Παρουσιάστε τους πίνακες κατακερματισμού (καθώς και τη διαδικασία που οδηγεί στο αποτέλεσμα) που προκύπτουν κατά τη διαδοχικ διαγραφ των κλειδιών με τιμές κατακερματισμού 11, 1, 11, 1, 1111 και 111 από τον επεκτάσιμο πίνακα κατακερματισμού του Σχματος 1. Διαγραφ 11: το κλειδί αυτό βρίσκεται στο δεύτερο κάδο, το διαγράφουμε και παρατηρούμε ότι μπορούμε να μεταθέσουμε το κλειδί 1 στον από πάνω κάδο, επομένως θα χρειαζόμαστε μόνο 2 ψηφία των κλειδιών για να τα αναζητσουμε. 1 1 11 1 11 11 111 1, 1, 1, 11 11, 11 2 11, 111, 1111, 111 2 111, 11111 2 Έτσι, ο πίνακας κατακερματισμού γίνεται: 1 1 11 1 11 11 111 1, 1,, 1 2 11, 11 2 11, 111, 1111, 111 2 111, 11111 2 Διαγραφ 1 και 11: τα κλειδιά αυτά διαγράφονται χωρίς να παρατηρείται κάποια αλλαγ, παρά μόνο, μετά και τη δεύτερη διαγραφ, μπορούν όλα τα κλειδιά που ξεκινάνε από το, να συγκεντρωθούν, σε ένα κάδο. 1 1 11 1 11 11 111 1, 1,, 1 2 11, 11 2 11, 111, 1111, 111 2 111, 11111 2

Άρα ο πίνακας διαμορφώνεται ως εξς: 1 1 11 1 11 11 111 1,, 1, 11 1 11, 111, 1111, 111 2 111, 11111 2 Διαγραφ 1 και 1111 και 111: σειριακά διαγράφονται τα στοιχεία αυτά χωρίς να μεταβάλλεται κάτι στο πίνακα, εκτός από το τελευταίο (111) που αφού ο δεύτερος κάδος έχει μετά τη διαγραφ του 1111 μία θέση διαθέσιμη, μπορεί να μεταφερθεί το 11111 εκεί. Οι διαγραφές φαίνονται παρακάτω: 1 1 11 1 11 11 111 1,, 1, 11 1 11, 111, 1111, 111 2 111, 11111 2 και ο πίνακας διαμορφώνεται ως εξς: 1 1,, 11 1 11, 111, 111, 11111 1 Καταλγοντας, λοιπόν, στη παραπάνω μορφ, ουσιαστικά επιλέγεται ένα στοιχείο με βάση το πρώτο ψηφίο (είτε είτε 1).

Άσκηση Χρησιμοποιώντας τη στρατηγικ για μείωση ύψους, να εκτελεστεί η παρακάτω ακολουθία 1 ενώσεων με τη σειρά που δηλώνουν οι παράπλευροι των κόμβων αριθμοί: Θα εκτελέσουμε τις ενώσεις των υποδέντρων που φαίνονται στο σχμα με βάση τη σειρά που αναφέρονται. Αν τα ύψη τους είναι ίσα, τότε ρίζα μπαίνει μία από τις δύο, όποια εμείς θέλουμε. Αν όμως δεν έχουν το ίδιο ύψος, δηλαδ έστω Τ1 και Τ2 δύο δέντρα για τα οποία ισχύει Η(Τ1) > Η(Τ2) τότε βάζουμε ρίζα αυτ με το μικρότερο ύψος. Επομένως, (1): {1,2} με ρίζα οποιοδποτε από τα 1 2, 1 2 2 1 (2): {,4}, με οποιαδποτε ρίζα από τα 4, 4 4 (): {1,11}, με οποιαδποτε ρίζα από τα 1 11, 1 11 11 1 (4): {,7}, με οποιαδποτε ρίζα από τα 7, 7 7 (): {1,14}, με οποιαδποτε ρίζα από τα 1 14,, 1 14 14 1

(): {(),1}, δεν έχουν το ίδιο ύψος, επομένως το δέντρο με το μικρότερο ύψος θα δείχνει στη ρίζα του δέντρου που προέκυψε από την ένωση (). Άρα ανάλογα με το ποιο επιλέγουμε, έχουμε και τα παρακάτω αποτελέσματα 1 11 1 11 1 1 (7): {(1),(4)}, η ένωση αυτ εφαρμόζεται σε δύο υποδέντρα με ίδιο ύψος, οπότε έχουμε τις εξς περιπτώσεις 1 2 2 1 7 7 1 2 7 2 7 1 1 7 2 7 2 1 7 7 1 2 2 1 (8): {,9}, με οποιαδποτε ρίζα από τα 9, 9 9

(9): {(8),12}, δεν έχουν το ίδιο ύψος, επομένως το δέντρο με το μικρότερο ύψος θα δείχνει στη ρίζα του δέντρου που προέκυψε από την ένωση (8). Άρα ανάλογα με το ποιο επιλέγουμε, έχουμε και τα παρακάτω αποτελέσματα 9 12 9 12 (1): {(7),()}, δεν έχουν το ίδιο ύψος τα υποδέντρα αυτά, επομένως το δέντρο με το μικρότερο ύψος θα δείχνει στη ρίζα του δέντρου που προέκυψε από την ένωση (7). Επειδ, όμως, οι περιπτώσεις που προκύπτουν είναι πάρα πολλές, δε θα τις εξετάσουμε όλες. Θα επιλέξουμε μια, αλλά αντίστοιχα υλοποιούνται και οι άλλες: 7 1 1 2 14 (11): {,(2)}, τα υποδέντρα αυτά δεν έχουν το ίδιο ύψος, οπότε ρίζα του θα είναι η ρίζα της (2) 4 4 (12): {(11), (9)}, τα υποδέντρα αυτά έχουν ακριβώς το ίδιο ύψος. Προκύπτουν πολλές περιπτώσεις ανάλογα με το πώς συνδυάζονται, αλλά εμείς θα επιλέξουμε δυο. Ομοίως σχηματίζονται και οι άλλοι Αν ρίζα είναι της (9) Αν ρίζα είναι της (11) 12 9 4 4 12 9 (1): {(1), ()}, τα υποδέντρα αυτά δεν έχουν το ίδιο ύψος, οπότε ρίζα του θα είναι η ρίζα της (1) 1 2 1 1 7 14 1 11

(14): {(12), (1)}, τα υποδέντρα αυτά δεν έχουν το ίδιο ύψος, οπότε ρίζα του θα είναι η ρίζα της (1). Οι περιπτώσεις και εδώ είναι πολλές, αλλά σχεδιάζονται όλες κατ αντίστοιχο τρόπο 1 2 1 1 7 14 1 11 12 9 4 (1): {(14), 8} στο τελευταίο βμα ενώνουμε το υποδέντρο του βματος 14 με το 8 στοιχείο. Επειδ το βάθος του υποδέντρου της ένωσης 14 έχει μεγαλύτερο βάθος, το 8 θα ενωθεί με τη ρίζα του, οπο τε προκύπει: 1 2 1 1 8 7 14 1 11 12 9 4