Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

Σχετικά έγγραφα
Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Advanced Data Indexing

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 6η: Κατακερματισμός Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

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

Δομές Δεδομένων. Κατακερματισμός. Δομές Δεδομένων & Αλγόριθμοι. Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής 1

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

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

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

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

10. Πίνακες Κατακερματισμού

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

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

ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING)

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: Δομές Δεδομένων και Αλγόριθμοι. Εαρινό Εξάμηνο Φροντιστήριο 10 ΛΥΣΕΙΣ

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

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

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

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

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

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

ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΣ HASHING

Εργαστηριακός Οδηγός. Βάσεις Δεδομένων της Γ' Τάξης ΕΠΑΛ

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

Η διαδικτυακή εφαρμογή ESOG: Εγχειρίδιο χρήσης *

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

Εργαστήριο 10o. Συγκεντρωτικά Ερωτήματα Ερωτήματα Διασταύρωσης Ερωτήματα Ενεργειών. Ευάγγελος Γ. Καραπιδάκης

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

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

Κεφάλαιο 13. Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός. ιαφάνεια 13-1

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

Οργάνωση Αρχείων. Βάσεις Δεδομένων : Οργάνωση Αρχείων 1. Blobs

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

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

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

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο

Άσκηση Access 1. Να δημιουργηθεί μία βάση δεδομένων για ένα ξενοδοχείο με το όνομα Hotel. Πατάμε το εικονίδιο Κενή βάση δεδομένων επάνω δεξιά:

Advanced Data Indexing

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 6 : Δομές αρχείων. Δρ. Γκόγκος Χρήστος

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

Διαδικασιακός Προγραμματισμός

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

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

Μπορείτε τα δείτε βιντεάκι με τη διαδικασία εδώ:

ΟΔΗΓΙΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Φ.Π.Α - ΤΜΗΜΑΤΩΝ

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

Διαδικτυακό Περιβάλλον Διαχείρισης Ασκήσεων Προγραμματισμού

P( n, k) P(5,5) 5! 5! 10 q! q!... q! = 3! 2! = 0! 3! 2! = 3! 2!

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

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

Εφαρμογή Τελών Ακινήτων

ΛΙΣΤΕΣ. Ορισμός ΑΤΔ Λίστα ΑΤΔ Ακολουθιακή Λίστα Διαχείριση Δεικτών και Λιστών στη C ΑΤΔ Συνδεδεμένη Λίστα. Εφαρμογές και Χρήση Λιστών

Συνοπτική Μεθοδολογία Ασκήσεων Κεφαλαίου 7. Ασκήσεις στο IP Fragmentation

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

1 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΑΛΓΟΡΙΘΜΟΙ

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

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

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

Εργαστήριο «Τεχνολογία Πολιτισμικού Λογισμικού» Ενότητα. Επεξεργασία πινάκων

Κεφάλαιο 5. Δημιουργία φορμών για τη βάση δεδομένων DVDclub

ΔΗΛΩΣΗΣ ΔΙΑΜΕΤΑΚΟΜΙΣΗΣ

Ηλεκτρονικοί Υπολογιστές ΙI. Βάσεις Δεδομένων. Ακαδημαϊκό Έτος Εργαστήριο 2. Διαφάνεια 1. Κάπαρης Αναστάσιος

Εισαγωγή στην Επιστήμη των Υπολογιστών

Αποθήκευση εδοµένων. Εισαγωγή. Σχεδιασµό και υλοποίηση µιας βάσης δεδοµένων χρησιµοποιώντας ένα Σ Β

3 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΠΙΝΑΚΕΣ

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

Διαδικασία Χρήσης Module Αναλυτικής Λογιστικής

Ενότητα 6 Κατακερµατισµός

ΚΕΦΑΛΑΙΟ 2 ΔΙΑΤΑΞΕΙΣ, ΜΕΤΑΘΕΣΕΙΣ, ΣΥΝΔΥΑΣΜΟΙ

Transcript:

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Ενότητα : Κατακερματισμός Ασκήσεις και Λύσεις Άσκηση 1 Χρησιμοποιήστε τη συνάρτηση κατακερματισμού της διαίρεσης ως πρωτεύουσα συνάρτηση κατακερματισμού και τη συνάρτηση h(k)=(k+) % m ως δευτερεύουσα συνάρτηση κατακερματισμού να εισαχθούν τα κλειδιά, 1, 7,, 29, 7 και 2 σε ένα πίνακα 7 θέσεων, ο οποίος είναι οργανωμένος με τη μέθοδο: της αλυσίδας a. των μικτών αλυσίδων b. των μικτών αλυσίδων με κελάρι ων θέσεων c. του διπλού κατακερματισμού d. της γραμμικής αναζήτησης e. του ταξινομημένου κατακερματισμού με ανοιχτή διεύθυνση h(k) = k % 7 (αφού ο πίνακας είναι 7 θέσεων). Σε ποια θέση θα μπει το κάθε στοιχείο, καθορίζεται, από το υπόλοιπο της διαίρεσης της τιμής του αριθμού με το πλήθος θέσεων του πίνακα. α. Μέθοδος της Αλυσίδας Στη μέθοδο αυτή το κάθε στοιχείο εισάγεται στη θέση που δηλώνει η συνάρτηση κατακερμτισμού h (K) = K % 7. Αν η θέση αυτή δεν είναι NULL τότε εισάγεται ταξινομημένα στην σωστή λίστα. h() = % 7 = 1 h(1) = 1 % 7 = 1 h(7) = 7 % 7 = 2 h() = % 7 = 2

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις h(29) = 29 % 7 = 1 h(7) = 7 % 7 = h(2) = 2 % 7 = 2 β. Μέθοδος των Μικτών αλυσίδων Ο πίνακας σε αυτή τη μέθοδο αποτελείται από δύο στήλες. Η πρώτη στήλη αποτελείται από τα δεδομένα και η δεύτερη από τους δείκτες next που χρησιμοποιούνται σε περίπτωση σύγκρουσης. Αρχικά, όλα τα πεδία next των στοιχείων είναι Λ. Η πρωτη θέση που δοκιμάζουμε καθορίζεται από την συνάρτηση κατακερματισμού h (K) = K % 7. Αν η θέση αυτή είναι κατειλημμένη τότε αναζητούμε την πρώτη διαθέσιμη ξεκινώντας από την αρχή του πίνακα. Μόλις βρούμε τη θέση βάζουμε το στοιχείο εκεί και στο δείκτη που βρίσκεται στη θέση h (K) αντικαθιστούμε το Λ με τη θέση που εισήχθη το στοιχείο. h() = % 7 = 1 h(1) = 1 % 7 = 1 h(7) = 7 % 7 = 2 h() = % 7 = 2

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις h(29) = 29 % 7 = 1 h(7) = 7 % 7 = h(2) = 2 % 7 = 2 γ. Μέθοδος μικτών Αλυσίδων, με κελάρι ων θέσεων Ακολουθούμε όμοια την προηγούμενη μέθοδο, με τη διαφορά ότι χρησιμοποιούμε τις πρώτες θέσεις ως κελάρι για να αποθηκεύουμε στοιχεία όταν έχουμε συγκρούσεις και ξεκινάμε τις εισαγωγές από τη θέση. H συνάρτηση κατακερματισμού που προκύπτει είναι h(k) = (k % 7) % + h() = ( % 7) % + = h(1) = (1 % 7) % + = h(7) = (7 % 7) % + = h() = ( % 7) % + = Λ Λ Λ Λ Λ Λ 7 Λ 7 1 Λ Λ Λ Λ Λ 2 Λ 2 Λ 2 Λ 2 Λ 1 Λ 1 Λ 1 Λ 1 Λ Λ 1 Λ 1 Λ 1 Λ Εισαγωγή Εισαγωγή 1 Εισαγωγή 7 Εισαγωγή

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

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Εισαγωγή 29 Εισαγωγή 7 Εισαγωγή 2 h 1 (29) = 29 % 7 = 1 h 1 (7) = 7 % 7 = h 1 (2) = 2 % 7 = 2 h 2 (29) = (29+) % 7= h 2 (2) = (2+) % 7 = h(29) = +1%7 = h(7) = 29 1 2 7 29 1 2 7 7 29 1 2 2 7 7 ε. Κατακερματισμός με Ανοιχτή Διευθυνσιοδότηση Γραμμική αναζήτηση Η πρώτη θέση που δοκιμάζουμε καθορίζετε από τη συνάρτηση κατακερματισμού h(k) = k % 7. Αν η θέση αυτή είναι κατειλημμένη, τότε αναζητούμε κυκλικά στον πίνακα την πρώτη ελεύθερη θέση ξεκινώντας από την h(k) θέση. Εισαγωγή Εισαγωγή 1 Εισαγωγή 7 Εισαγωγή h() = % 7 = 1 h(1) = 1 % 7 = 1 h(7) = 7 % 7 = 2 h() = % 7 = 2 Επόμενη ελεύθερη = 2 Επόμενη ελεύθερη = Επόμενη ελεύθερη = 7 7 2

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Εισαγωγή 29 Εισαγωγή 7 Εισαγωγή 2 h(29) = 29 % 7 = 1 h(7) = 7 % 7 = h(2) = 2 % 7 = 2 Επόμενη ελεύθερη = Επόμενη ελεύθερη = 29 7 29 7 7 2 29 7 7 στ. Ταξινομημένος Κατακερματισμός με Ανοιχτή Διευθυνσιοδότηση Η πρώτη θέση που δοκιμάζουμε καθορίζετε από την πρωτεύουσα συνάρτηση κατακερματισμού h 1 (k) = k % 7. Αν η θέση αυτή είναι κατειλημμένη τότε εξετάζουμε αν το στοιχείο που βρίσκεται σε αυτή τη θέση είναι μικρότερο ή μεγαλύτερο. Αν είναι μεγαλύτερο τότε αποθηκεύουμε το μικρότερο στοιχείο εκεί και προχωράμε με βήμα h 2 (k) στον πίνακα. Αν είναι μικρότερο, τότε συνεχίζουμε με βήμα h 2 (k) για να βρούμε επόμενη θέση, όπου θα είναι ή κενή ή θα βρίσκεται κάποιο άλλο στοιχείο εκεί. Η διαδικασία αυτή επαναλαμβάνεται για κάθε στοιχείο στην αλυσίδα μέχρι να βρεθεί μια κενή θέση στην οποία θα γίνει η τελευταία μετατόπιση. Τα κλειδιά διατηρούνται ταξινομημένα σε κάθε αλυσίδα. Εισαγωγή Εισαγωγή 1 Εισαγωγή 7 Εισαγωγή h() = % 7 = 1 h(1) = 1 % 7 = 1 h(7) = 7 % 7 = 2 h() = % 7 = 2 2 2 2 7 2 7 7< 7 1< 1 1 1 1 1 1

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Εισαγωγή 29 Εισαγωγή 7 Εισαγωγή 2 h(29) = 29 % 7 = 1 h(7) = 7 % 7 = h(2) = 2 % 7 = 2 29 2 7 7< 7 1 1 29>1 1 29 7 2 7 1 1 7> 29 29 7 7 2 7 2 1 1 1 7 Άσκηση 2 α. Έστω ότι τα κλειδιά με τιμές κατακερματισμού, 1 και 1 εισάγονται διαδοχικά (το ένα μετά το άλλο) στον επεκτάσιμο πίνακα κατακερματισμού του Σχήματος_1. Θεωρήστε ότι για αυτόν τον πίνακα ισχύει ότι b=. Παρουσιάστε τους πίνακες κατακερματισμού που προκύπτουν μετά από κάθε εισαγωγή (καθώς και τη διαδικασία που οδηγεί στο τελικό αποτέλεσμα σε κάθε περίπτωση). Εισαγωγή : το κλειδί αυτό θα πρέπει να εισαχθεί στη πρώτη γραμμή του πίνακα, γιατί τα δυο πρώτα στοιχεία του είναι τα. Όμως εκεί υπάρχουν τέσσερα κλειδιά και επειδή b=, δεν έχει άλλο χώρο. Συνεπώς είναι απαραίτητη η αύξηση του βάθους του πίνακα κατακερματισμού, από δύο σε τρία. Αυτό σημαίνει ότι πλέον θα παίζουν ρόλο τα τρία πρώτα ψηφία των κλειδιών αυτών. Άρα, ο παραπάνω πίνακας θα γίνει τώρα ως εξής:

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

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις 1 1 1 1 1, 1, 1,, 2, 1,, 1 2 1, 1 2 β. Παρουσιάστε τους πίνακες κατακερματισμού (καθώς και τη διαδικασία που οδηγεί στο αποτέλεσμα) που προκύπτουν κατά τη διαδοχική διαγραφή των κλειδιών με τιμές κατακερματισμού, 1,, 1, και 1 από τον επεκτάσιμο πίνακα κατακερματισμού που προέκυψε από το προηγούμενο ερώτημα μετά τις εισαγωγές. Διαγραφή : το κλειδί αυτό βρίσκεται στο δεύτερο κάδο, το διαγράφουμε και παρατηρούμε ότι μπορούμε να μεταθέσουμε το κλειδί 1 στον από πάνω κάδο, επομένως θα χρειαζόμαστε μόνο 2 ψηφία των κλειδιών για να τα αναζητήσουμε. 1 1 1 1 1, 1,, 1 2, 2, 1,, 1 2 1, 1 2

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Παρατηρούμε ότι ο πίνακας μπορεί να συρικνωθεί αφού μετά τη διαγραφή του τα στοιχεία χωράνε σε μικρότερο πίνακα. Άρα ο πίνακας διαμορφώνεται ως εξής: 1 1 1, 1,, 1 2, 2, 1,, 1 2 1, 1 2 Διαγραφή 1: το κλειδί αυτό διαγράφεται χωρίς να παρατηρείται κάποια αλλαγή. 1 1 1,, 1 2, 2, 1,, 1 2 1, 1 2 Διαγραφή : με τη διαγραφή του κλειδιού αυτού απομένουν στοιχεία που ξεκινάνε από συνεπώς χωράνε σε ένα κάδο μόνο. 1 1 1,, 1, 1, 1,, 1 2 1, 1 2 Διαγραφή 1: το κλειδί αυτό διαγράφεται χωρίς να παρατηρείται κάποια αλλαγή. 1 1 1,, 1, 1,, 1 2 1, 1 2

ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Διαγραφή : το κλειδί αυτό διαγράφεται χωρίς να παρατηρείται κάποια αλλαγή. 1 1 1,, 1, 1, 1 2 1, 1 2 Διαγραφή 1: αφού ο τρίτος κάδος χωράει μετά τη διαγραφή του το στοιχείο 1, μπορεί να μεταφερθεί το 1 εκεί. Οι διαγραφές φαίνονται παρακάτω: 1 1 1,, 1, 1, 1, 1 1