ηδάζθσλ: εµήηξεο Ζετλαιηπνύξ

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

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

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

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

Constructors and Destructors in C++

ηδάζθσλ: εµήηξεο Εετλαιηπνύξ

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

Δυναμικοί πίνακες. Πνιιέο δνκέο δεδνκέλσλ πινπνηνύληαη κε ρξήζε πηλάθσλ. π.ρ. Σηνίβεο. α β γ δ. tail. head % N. Οπξέο Ν-1. θάησ όξην.

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΗΥ-150 Πξνγξακκατησκόο Ταμηλόκεσε θαη Αλαδήτεσε

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Άσκηση 1 - Μοπυοποίηση Κειμένου

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

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

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

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

Φςζική Πποζαναηολιζμού Γ Λςκείος. Αζκήζειρ Ταλανηώζειρ 1 ο Φςλλάδιο

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: /27 Υπνδίθηπν Β:

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

Αντισταθμιστική ανάλυση

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

x x x x tan(2 x) x 2 2x x 1

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Δηάιεμε 13: Αιγόξηζκνη Ταμηλόκεζεο

Δηάιεμε 10: Λίζηεο Υινπνίεζε & Εθαξκνγέο

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΕΞΙΣΩΣΕΙΣ. Α. Πρωτοβάθμιεσ Εξιςώςεισ. Β. Διερεφνηςη Εξιςώςεων. 1x είναι αδφνατθ. x 1 x 1. Άλγεβρα Α Λυκείου

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΛΟΠΟΝΝΗΣΟΥ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΚΑΙ ΤΕΦΝΟΛΟΓΙΑΣ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ Μάθημα: Πιθανόηηηες και Σηαηιζηική Διδάζκων: Σ. Γ.

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

2 η Ε π α ν α λ η π τ ι κ ή Ά σ κ η σ η

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

Μηα ζπλάξηεζε κε πεδίν νξηζκνύ ην Α, ζα ιέκε όηη παξνπζηάδεη ηοπικό μέγιζηο ζην, αλ ππάξρεη δ>0, ηέηνην ώζηε:

Κεθάιαην 20. Ελαχιστοποίηση του κόστους

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Γ Γυμνασίου ΥΟΛΕΙΟ..

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ ΣΔΣΑΡΣΖ 25 ΜΑΨΟΤ 2016 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΑΡΥΔ ΟΗΚΟΝΟΜΗΚΖ ΘΔΧΡΗΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ - ΔΠΗΛΟΓΖ

ΜΑΘΗΜΑΤΙΚΑ ΘΔΤΙΚΗΣ ΚΑΙ ΤΔΦΝΟΛΟΓΙΚΗΣ ΚΑΤΔΥΘΥΝΣΗΣ Β ΛΥΚΔΙΟΥ ΤΔΣΤ(1) ΣΤΑ ΓΙΑΝΥΣΜΑΤΑ

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο κόζηος ανά μονάδα παραγωγής. Q Η ζσνάρηηζη μέζοσ κόζηοσς μας δίνει ηο ζηαθερό κόζηος ανά μονάδα παραγωγής

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

Τν εθπαηδεπηηθό πιηθό ηεο Φξνληηζηεξηαθήο Δθπαίδεπζεο Τζηάξα δηαλέκεηαη δωξεάλ απνθιεηζηηθά από ηνλ ψεθηαθό ηόπν ηνπ schooltime.gr

Σρήκα Α. Γξάθνπκε ηα ζηνηρεία ηνπ Πξνκεζεπηή θαη παηάκε Δηζαγσγή. Σρήκα Β1

Σημειώζεις Οδηγίες για ηη τρήζη ηοσ προγράμμαηος Acronis True Image Home

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

Transcript:

Δηάιεμε 28: Τερληθέο Καηαθεξκαηηζκνύ Σηελ ελόηεηα απηή ζα κειεηεζνύλ ηα εμήο επηκέξνπο ζέκαηα: Διασείπιζη Σςγκπούζεων με Ανοικηή Διεύθςνζη a) Linear Probing, b) Quadratic Probing c) Double Hashing Διαηεηαγμένορ Καηακεπμαηιζμόρ (Ordered Hashing) Επανακαηακεπμαηιζμόρ (Rehashing) Εθαπμογέρ Καηακεπμαηιζμού ηδάζθσλ: εµήηξεο Ζετλαιηπνύξ 28-1

Επαλάιεςε Δηαρείξηζεο Σπγθξνύζεσλ κε Αιπζίδσζε 0 1 2 3 4 5 6 7 8 9 10 34 67 46 114 26 17 85 hsize = 11 28-2

Δηαρείξηζε Σπγθξνύζεσλ κε αλνηθηή δηεύζπλζε H αληηκεηώπηζε ζπγθξνύζεωλ κε αιπζίδωζε πεξηιακβάλεη επεμεξγαζία δεηθηώλ θαη δπλακηθή ρνξήγεζε κλήκεο. Επίζεο δεκηνπξγνύληαη overflow chains, ηα νπνία ζα θάλνπλ ηηο αλαδεηήζεηο αθξηβόηεξεο ζηελ ζπλέρεηα Η ζηξαηεγηθή αλνηθηήο δηεύζπλζεο επηηπγράλεη ηελ αληηκεηώπηζε ζπγθξνύζεσλ ρσξίο ηε ρξήζε δεηθηώλ. Τα ζηνηρεία απνζεθεύνληαη θαη επζείαλ ζηνλ πίλαθα θαηαθεξκαηηζκνύ σο εμήο: Γηα λα εηζαγάγνπκε ην θιεηδί k ζηνλ πίλαθα: 1. ππνινγίδνπκε ηελ ηηκή i=h(k), θαη 2. αλ ε ζέζε Η[i] είλαη θελή ηόηε απνζεθεύνπκε εθεί ην k, 3. δηαθνξεηηθά, δνθηκάδνπκε ηηο ζέζεηο f(i), f(f(i)),, γηα θάπνηα ζπλάξηεζε f, κέρξηο όηνπ βξεζεί θάπνηα θελή ζέζε όπνπ θαη ηνπνζεηνύκε ην k. Γηα ηελ αλαδήηεζε θάπνηνπ θιεηδηνύ k κέζα ζηνλ πίλαθα: 1. ππνινγίδνπκε ηελ ηηκή i=h(k), θαη 2. θάλνπκε δηεξεύλεζε ηεο αθνινπζίαο, i, f(i), f(f(i)),, κέρξη, είηε λα βξνύκε ην θιεηδί, είηε λα βξνύκε θελή ζέζε, ή λα πεξάζνπκε από όιεο ηηο ζέζεηο ηνπ πίλαθα. 28-3

Γξακκηθή Αλαδήηεζε Αλνηθηήο Δηεύζπλζεο (Linear Probing) H αξρηθή ζπλάξηεζε θαηαθεξκαηηζκνύ είλαη f(x) = x mod hsize Όηαλ ππάξμεη ζύγθξνπζε (collision) δνθηκάδνπκε αλαδξνκηθά ηελ επόκελε ζπλάξηεζε κέρξη λα βξεζεί θελή ζέζε: f(x)= (f(x) +i) mod hsize (i=1,2,3, ) Δειαδή ε αλαδήηεζε θελήο ζέζεο γίλεηαη ζεηξηαθά, θαη ε αλαδήηεζε νλνκάδεηαη γξακκηθή (linear probing). Παξάδεηγκα: hsize = 11, εηζαγσγή 11, 12, 15, 19, 26, 48. 0 1 2 3 4 5 6 7 8 9 10 11 12 15 26 48 19 collision 26 collision 48 collision 48 28-4

Σρόιηα γηα ην Linear Probing Εηζαγωγή Εθόζνλ ν πίλαθαο θαηαθεξκαηηζκνύ δελ είλαη γεκάηνο, είλαη πάληα δπλαηό λα εηζάγνπκε θάπνην θαηλνύξην θιεηδί. Αλ γεκίζεη ζα θάλνπκε rehash ηνλ πίλαθα (ζα ην δνύκε ζηελ ζπλέρεηα) Αλ νη γεκάηεο ζέζεηο ηνπ πίλαθα είλαη καδεκέλεο (clustered) ηόηε αθόκα θαη αλ ν πίλαθαο είλαη ζρεηηθά άδεηνο, πηζαλόλ λα ρξεηαζηνύλ πνιιέο δνθηκέο γηα εύξεζε θελήο ζέζεο (θαηά ηελ εθηέιεζε δηαδηθαζίαο insert), ή γηα εύξεζε ζηνηρείνπ. 0 1 2 3 4 5 6 7 8 9 10 11 12 15 26 48 19 Αλαδήηεζε cluster Η αλαδήηεζε γίλεηαη όπσο θαη ηελ εηζαγσγή (ζηακαηάκε όηαλ βξνύκε θελή ζέζε). Μπνξεί λα απνδεηρζεί όηη γηα έλα πίλαθα κηζνγεκάην (δειαδή ι = 0.5) θαη κηα νκνηόκνξθε θαηαλνκή ηόηε: 1. Αλεπηηπρή Δηεξεύλεζε: O αξηζκόο βεκάησλ είλαη ~2.5 2. Επηηπρή Δηεξεύλεζε: O αξηζκόο βεκάησλ είλαη ~1.5. Αλ ην ι πιεζηάδεη ην 1, ηόηε νη πην πάλσ αλακελόκελνη αξηζκνί βεκάησλ απμάλνληαη εθζεηηθά. 28-5

Σρόιηα γηα ην Linear Probing Εμαγωγή Πξέπεη λα είκαζηε πξνζεθηηθνί κε ηηο εμαγσγέο ζηνηρείσλ 1. κηα ζέζε από ηελ νπνία έρεη αθαηξεζεί ζηνηρείν δελ κπνξεί λα ζεσξεζεί σο άδεηα (γηαηί;) διόηι ζηην find δεν θα ξέποςμε πος να ζηαμαηήζοςμε 2. έηζη καξθάξνπκε ηε ζέζε σο deleted, θαη 3. θαηά ηε δηαδηθαζία find, αγλννύκε ζέζεηο deleted, θαη πξνρσξνύκε κέρξηο όηνπ είηε λα βξνύκε ην θιεηδί πνπ ςάρλνπκε, είηε λα βξνύκε (πξαγκαηηθά) κηα άδεηα ζέζε είηε λα ζαξώζνπκε νιόθιεξν ηνλ πίλαθα). 11 12 15 X 48 19 Σηνηρείν 26 έρεη καξθαξηζηεί ωο deleted 0 1 2 3 4 5 6 7 8 9 10 28-6

Δεπηεξνβάζκηα αλαδήηεζε Αλνηθηήο Δηεύζπλζεο (Quadratic Probing) H αξρηθή ζπλάξηεζε θαηαθεξκαηηζκνύ είλαη θαη πάιη: f(x) = x mod hsize Όηαλ ππάξμεη ζύγθξνπζε (collision) δνθηκάδνπκε αλαδξνκηθά ηελ επόκελε ζπλάξηεζε κέρξη λα βξεζεί θελή ζέζε: f(x)= (f(x) + i²) mod hsize (i=1,2,3, ) Σηόρνο: απνθπγή ησλ καδεκέλσλ θιεηδηώλ (clusters) 28-7

Παξάδεηγκα Quadratic Probing Παξάδεηγκα: hsize = 11, εηζαγσγή 11, 12, 15, 19, 26, 48 0 1 2 3 4 5 6 7 8 9 10 11 12 48 15 26 19 collision 26 48 OK collision collision 48 48 collision 48 ((X+3 2 )% 11) d (X % 11) ((X+1 2 )% 11) ((X+2 2 )% 11) a b c Σην linear probing ήηαλ εγγπεκέλε ε εηζαγσγή (εθόζνλ ν πίλαθαο δελ έρεη γεκίζεη) Καη εδώ κπνξεί λα απνδεηρζεί όηη : Θεώξεκα: Αλ ην κέγεζνο hsize είλαη πξώηνο (prime) αξηζκόο (>3) ηόηε νπνηνδήπνηε θαηλνύξην θιεηδί κπνξεί λα εηζαρζεί ζηνλ πίλαθα εθόζνλ ν πίλαθαο έρεη ι 0.5. 28-8

Δηπιόο Καηαθεξκαηηζκόο Αλνηθηήο Δηεύζπλζεο (Double Hashing) O ηειεπηαίνο ηξόπνο απνθπγήο ζπγθξνύζεσλ ρξεζηκνπνηεί δπν ζπλαξηήζεηο θαηαθεξκαηηζκνύ. Δειαδή ζε πεξίπησζε αξρηθήο απνηπρίαο εηζαγσγήο / εύξεζεο ζηνηρείνπ νη ζέζεηο πνπ επηιέγνπκε γηα λα δηεξεπλήζνπκε ζηε ζπλέρεηα (probe sequence) είλαη αλεμάξηεηεο από ηελ πξώηε. f(x,0) = h 1 (x) // η αρχική συνάρτηση κατακερματισμού Απηό επηηπγράλεηαη κε ηε ρξήζε κηαο δεύηεξεο ζπλάξηεζεο θαηαθεξκαηηζκνύ, h 2, σο εμήο: f(x,n) = ( h 1 (x) + n h 2 (x) ) mod hsize Σηελ πξάμε δνπιεύεη απνδνηηθά σζηόζν είλαη πην αθξηβό λα ππνινγίδνπκε δπν ζπλαξηήζεηο θάζε θνξά 28-10

Επαλαθαηαθεξκαηηζκόο (Rehashing) Αλ ν hash πίλαθαο αξρίζεη λα γεκίδεη, παξαηεξείηαη κεγάινο αξηζκόο ζπγθξνύζεωλ (collisions) κε απνηέιεζκα ηε κεησκέλε επίδνζε. H κεησκέλε επίδνζε παξαηεξείηαη θαη ζε πξάμεηο εηζαγσγήο αιιά ζηηο πξάμεηο αλαδήηεζεο. Σε ηέηνηεο πεξηπηώζεηο, όηαλ ε ηηκή ι ππεξβεί θάπνην όξην, πνιιέο πινπνηήζεηο hash-πηλάθσλ, απηόκαηα εθαξκόδνπλ επαλά-θαηαθεξκαηηζκό. Απηό ην όξην ζε ηππηθέο πινπνηήζεηο είλαη ζπλήζσο ι=0.7 (π.ρ. Java) Επαλαθαηαθεξκαηηζκόο (rehashing) Δεκηνύξγεζε έλα θαηλνύξην πίλαθα κεγαιύηεξνπ (δηπιάζηνπ) κεγέζνπο. Εηζήγαγε όια ηα ζηνηρεία ηνπ παιηνύ πίλαθα ζηνλ θαηλνύξην. Επέζηξεςε ηε κλήκε ηνπ παιηνύ πίλαθα. Αθξηβή δηαδηθαζία, αιιά θαιείηαη ζπάληα. Σε ζπζηήκαηα πξαγκαηηθνύ ρξόλνπ (real-time systems) ην rehashing κπνξεί λα πάξεη πεξηζζόηεξν ρξόλν από όηη ππάξρεη! Εθεί ην rehashing γίλεηαη ζηαδηαθά (δειαδή θξαηνύκε ην παιηό θαη λέν HashTable), θαη ζε θάζε εηζαγσγή κεηαθηλνύκε K ζηνηρεία ζην λέν table κέρξη λα κεηαθηλεζνύλ όια ηα ζηνηρεία (νπόηαλ δηαγξάθεηαη ην παιηό table) 28-12

Επαλαθαηαθεξκαηηζκόο (Rehashing) Σε βάζεηο δεδνκέλσλ (databases), ν όγθνο ησλ δεδνκέλσλ είλαη πνιύ κεγάινο θαη ηα δεδνκέλα είλαη απνζεθεπκέλα ζηνλ δίζθν. Άξα ην re-hashing, ζα έπαηξλε παξά πνιύ ρξόλν κέρξη λα νινθιεξσζεί. Γηα απηό ρξεζηκνπνηνύληαη dynamic hashing techniques (π.ρ. Linear and extendible hashing) Σε απηέο ηηο ηερληθέο, κόλν έλα πνιύ κηθξό πνζνζηό δεδνκέλσλ ρξεηάδεηαη λα γίλεη rehashed. 28-13

Μεξηθέο Εθαξκνγέο ηνπ Καηαθεξκαηηζκνύ Εθαξκνγέο Καηαθεξκαηηζκνύ (Μλήκεο & Μαγλεηηθνύ Δίζθνπ) Unique: Έρεηε έλα αξρείν από strings θαη ζέιεηε κε έλα πέξαζκα (ρξόλνο O(n)), λα βξείηε όιεο ηηο κνλαδηθέο ιέμεηο ζε απηό ην αξρείν. Επξεηήξηα Λέμεωλ ζε Μεραλέο Αλαδήηεζεο: Ψάρλνπκε ζε κηα κεραλή αλαδήηεζεο ηελ ιέμε car + rental. H κεραλή καο επηζηξέθεη ηελ ηνκή ησλ απνηειεζκάησλ (ζπλόισλ) car θαη rental ζε ρξόλν O(1). Find Function: Σε εξγαιεία επεμεξγαζίαο θεηκέλνπ (text editors, word, θηι) ην πξόγξακκα πξνζθέξεη ηελ δπλαηόηεηα εύξεζεο ιέμεσλ. Πνιιέο θνξέο ε πξώηε εθηέιεζε ηνπ find είλαη αξγή (πρ. Microsoft Help) δηόηη ρξεηάδεηαη ρξόλνο γηα ηελ δεκηνπξγία ηνπ hash table). Σε κεηαγιωηηηζηέο, πίλαθεο θαηαθεξκαηηζκνύ πνπ νλνκάδνληαη Symbol Tables απνζεθεύνπλ πιεξνθνξίεο γηα όιεο ηηο κεηαβιεηέο. Δηεξεύλεζε γξάθωλ πνπ δελ είλαη εμ αξρήο γλσζηνί. 28-14

Εθαξκνγή Καηαθεξκαηηζκνύ: Web Crawling Πεξηγξαθή Μπνξνύκε λα ζεσξήζνπκε ην WWW σο έλα γξάθν ηνπ νπνίνπ θόκβνη είλαη νη δηάθνξεο ζειίδεο, θαη αθκή κεηαμύ δύν θόκβσλ ππάξρεη αλ ε κηα από ηηο δύν ζειίδεο πεξηέρεη link ζηελ άιιε. http://www.cs.ucy.ac.cy/ http://www.ece.ucy.ac.cy/ http://www.ucy.ac.cy/index.html http://www.ucy.ac.cy/about.html http://www.cs.ucy.ac.cy/members.html Έλαο crawler είλαη έλα πξόγξακκα ην νπνίν παίξλεη ζαλ ηηκή εηζόδνπ έλα ε πεξηζζόηεξα URLs (π.ρ. www.cs.ucy.ac.cy) θαη ζηελ ζπλέρεηα αλαθηά (downloads) αλαδξνκηθά απηά ηα URLs ζηνλ ηνπηθό ηνπ δίζθν. H αλάθηεζε ηεξκαηίδεηαη όηαλ ηθαλνπνηεζεί θάπνηα ζπλζήθε (π.ρ. Ν ζειίδεο έρνπλ αλαθηεζεί, Φηάζακε ζε βάζνο β, θηι) Εθόζνλ ην WWW είλαη έλαο γξάθνο κπνξνύκε λα ρξεζηκνπνηήζνπκε αιγόξηζκνπο δηάζρηζεο γξαθώλ Καηά-πλάηορ διεπεύνηζη (BFS) Καηά-βάθορ διεπεύνηζη (DFS) Πξόβιεκα: Ο Crawler, πξέπεη κε θάπνην ηξόπν λα ζπκάηαη από πνηεο ηζηνζειίδεο πέξαζε. Έηζη δελ ρξεηάδεηαη λα μαλαπεξάζεη από θάπνηα ηζηνζειίδα πνπ ήδε πέξαζε Λύζε: Χξήζε HashTable πνπ θξαηά από πνηεο ηζηνζειίδεο πεξάζακε 28-15

Ψεπδνθώδηθαο ιύζεο HashTable H[hsize]; // O Πίνακαρ Καηακεπμαηιζμού DFS(www.cs.ucy.ac.cy); void DFS(URL url){ // ανάκηηζη ηηρ ζελίδαρ ζηον ηοπικό δίζκο download(url); // ειζαγωγή ηος url ζηον πίνακα καηακεπμαηιζμού H = put(url); // εξαγωγή όλων ηων Links URL[] = extracturls(page); for i=0 to URL { } } // επίζκεψη ζε όλα ηα ανεξεπεύνηηα Links if (!contains(h, hashcode(url[i]))) DFS(URL[i]); 28-16