ÌÜèçìá 7ï: ÁËÃÏÑÉÈÌÏÉ ÁÍÁÆÇÔÇÓÇÓ

Σχετικά έγγραφα
ÓÕÍÄÕÁÓÔÉÊÇ É, ÓÅÐÔÅÌÂÑÉÏÓ ÏÌÁÄÁ ÈÅÌÁÔÙÍ B

ÓÕÍÄÕÁÓÔÉÊÇ É, ÓÅÐÔÅÌÂÑÉÏÓ ÏÌÁÄÁ ÈÅÌÁÔÙÍ Á

ÊåöÜëáéï 4 ÄÉÁÍÕÓÌÁÔÁ. 4.1 ÅéóáãùãÞ (ÃåùìåôñéêÞ)

3.1 Íá âñåèåß ôï ðåäßï ïñéóìïý ôçò óõíüñôçóçò f: 4 x. (iv) f(x, y, z) = sin x 2 + y 2 + 3z Íá âñåèïýí ôá üñéá (áí õðüñ ïõí): lim

ÄéáêñéôÝò êáé óõíå åßò ôõ áßåò ìåôáâëçôýò ÁóêÞóåéò

ÌÜèçìá 3ï: ÁíáäñïìéêÝò Åîéóþóåéò

ÊåöÜëáéï 5 ÄÉÁÍÕÓÌÁÔÉÊÏÉ ÙÑÏÉ. 5.1 ÅéóáãùãÞ. 56 ÊåöÜëáéï 5. ÄÉÁÍÕÓÌÁÔÉÊÏÉ ÙÑÏÉ

ÌÜèçìá 10ï: ÁËÃÏÑÉÈÌÏÉ ÄÅÍÄÑÙÍ

å) Íá âñåßôå ôï äéüóôçìá ðïõ äéáíýåé ôï êéíçôü êáôü ôï ñïíéêü äéüóôçìá áðü ôï ðñþôï Ýùò ôï Ýâäïìï äåõôåñüëåðôï ôçò êßíçóþò ôïõ.

1. i) ÊÜèå üñïò ðñïêýðôåé áðü ôçí ðñüóèåóç ôïõ óôáèåñïý áñéèìïý 3 óôïí ðñïçãïýìåíï, ïðüôå Ý ïõìå áñéèìçôéêþ ðñüïäï á í ìå ðñþôï üñï

( ) ξî τέτοιο, + Ý åé ìßá ôïõëü éóôïí ñßæá óôï äéüóôçìá ( ) h x =,να δείξετε ότι υπάρχει ( α,β) x ΕΦΑΡΜΟΓΕΣ ΣΤΙΣ ΠΑΡΑΓΩΓΟΥΣ

ÊåöÜëáéï 3 ÏÑÉÆÏÕÓÅÓ. 3.1 ÅéóáãùãÞ

Ó ÅÄÉÁÓÌÏÓ - ÊÁÔÁÓÊÅÕÇ ÓÔÏÌÉÙÍ & ÅÉÄÉÊÙÍ ÅÎÁÑÔÇÌÁÔÙÍ ÊËÉÌÁÔÉÓÌÏÕ V X

2.4 ñçóéìïðïéþíôáò ôïí êáíüíá áëõóßäáò íá âñåèåß ç dr

Estimation Theory Exercises*

Áóõìðôùôéêïß Óõìâïëéóìïß êáé Éåñáñ ßá ÓõíáñôÞóåùí

ÓÕÍÈÇÊÇ ÁÌÅÔÁÈÅÔÏÔÇÔÁÓ ÓÕÓÔÇÌÁÔÏÓ ÔÏÉ ÙÌÁÔÙÍ ÐÁÑÁÑÔÇÌÁ Â

ÌÁÈÇÌÁÔÉÊÇ ËÏÃÉÊÇ Ë1 5ï ðáêýôï áóêþóåùí

16. ÌåëÝôç ôùí óõíáñôþóåùí y=çìx, y=óõíx êáé ôùí ìåôáó çìáôéóìþí ôïõò.

Συντακτική ανάλυση. Μεταγλωττιστές. (μέρος 3ον) Νίκος Παπασπύου, Κωστής Σαγώνας

Μαθηματικά ΙΙΙ. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 15: Προσέγγιση συνήθων διαφορικών εξισώσεων Μέρος Ι. Αθανάσιος Μπράτσος

ÁÑÉÈÌÇÔÉÊÇ ËÕÓÇ ÓÕÍÇÈÙÍ ÄÉÁÖÏÑÉÊÙÍ ÅÎÉÓÙÓÅÙÍ

ΕΛΕΝΗ ΓΕΡΟΥΛΑΝΟΥ. Εικονογράφηση ΔΡΑΣΤΗΡΙΟΤΗΤΕΣ ΓΙΑ ΠΑΙΔΙΑ ΝΗΠΙΑΓΩΓΕΙΟΥ ΛΗΔΑ ΒΑΡΒΑΡΟΥΣΗ ΕΚΔΟΣΕΙΣ ΠΑΠΑΔΟΠΟΥΛΟΣ

3.1 H Ýííïéá ôçò óõíüñôçóçò ÐÁÑÁÄÅÉÃÌÁÔÁ - ÅÖÁÑÌÏÃÅÓ

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 7: Οριακή Τιμή Συνάρτησης. Αθανάσιος Μπράτσος. Τμήμα Ναυπηγών Μηχανικών ΤΕ

ÐÉÍÁÊÅÓ ÔÉÌÙÍ ÁÍÔÉÊÅÉÌÅÍÉÊÙÍ ÁÎÉÙÍ

Προτεινόμενα θέματα Πανελλαδικών εξετάσεων. Χημεία Θετικής Κατεύθυνσης ΕΛΛΗΝΟΕΚΔΟΤΙΚΗ

ÌÅÑÏÓ 3 ΥΠΗΡΕΣΙΕΣ ΥΠΟΣΤΗΡΙΞΗΣ ΤΗΣ ΚΛΙΝΙΚΗΣ ΠΡΑΞΗΣ ÁÐÁÉÔÇÓÅÙÍ ÕÐÇÑÅÓÉÙÍ. Υπηρεσίες Ιατρικής Πληροφορικής και Τηλεϊατρικής 9 ÂÁÓÉÊÅÓ ÊÁÔÅÕÈÕÍÓÅÉÓ

ÌÜèçìá 2ï: Èåùñçôéêü Õðüâáèñï

1. Íá ëõèåß ç äéáöïñéêþ åîßóùóç (15 ìïí.) 2. Íá âñåèåß ç ãåíéêþ ëýóç ôçò äéáöïñéêþò åîßóùóçò (15 ìïí.)

Μαθηματικά ΙΙΙ. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 16: Προσέγγιση συνήθων διαφορικών εξισώσεων Μέρος ΙΙ. Αθανάσιος Μπράτσος

ÏÑÉÁÊÇ ÔÉÌÇ ÓÕÍÁÑÔÇÓÇÓ

Ìáèáßíïõìå ôéò áðïäåßîåéò

Íá èõìçèïýìå ôç èåùñßá...

ÁÑÉÈÌÇÔÉÊÇ ËÕÓÇ ÅÎÉÓÙÓÅÙÍ

Chi-Square Goodness-of-Fit Test*

4.5 ÁóêÞóåéò çìéêþò éóïññïðßáò ìå åðßäñáóç óôç èýóç éóïññïðßáò

ÓÕÍÁÑÔÇÓÅÉÓ ÐÏËËÙÍ ÌÅÔÁÂËÇÔÙÍ

Ðñïêýðôïõí ôá ðáñáêüôù äéáãñüììáôá.

Óõíå Þ êëüóìáôá & Áöáéñåôéêüò Åõêëåßäåéïò áëãüñéèìïò

Èåùñßá ÃñáöçìÜôùí: Óýíïëá Áíåîáñôçóßáò, Óýíïëá ÊÜëõøçò, êáé ñùìáôéêüò Áñéèìüò

ÐáíåðéóôÞìéï Áèçíþí, ÔìÞìá Ìáèçìáôéêþí ÌÜèçìá: Óôï áóôéêýò Áíåëßîåéò Ðåñßïäïò: ÉáíïõÜñéïò, 2009

1.1 Ïé öõóéêïß áñéèìïß - ÄéÜôáîç öõóéêþí, Óôñïããõëïðïßçóç

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 12: Αόριστο Ολοκλήρωμα. Αθανάσιος Μπράτσος. Τμήμα Ναυπηγών Μηχανικών ΤΕ

ÓÕÍÅ ÅÉÁ ÓÕÍÁÑÔÇÓÇÓ. 8.1 ÃåíéêÝò Ýííïéåò êáé ïñéóìïß

SPLINES. ÌÜèçìá ÓõíÜñôçóç spline Ïñéóìïß êáé ó åôéêü èåùñþìáôá

B i o f l o n. Ãéá åöáñìïãýò ìåôáöïñüò çìéêþí

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 8: Συνέχεια Συνάρτησης. Αθανάσιος Μπράτσος. Τμήμα Ναυπηγών Μηχανικών ΤΕ

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 11: Διανυσματική Συνάρτηση. Αθανάσιος Μπράτσος. Τμήμα Ναυπηγών Μηχανικών ΤΕ

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 15: Ορισμένο Ολοκλήρωμα Μέρος ΙΙΙ - Εφαρμογές. Αθανάσιος Μπράτσος

ÁÏÑÉÓÔÏ ÏËÏÊËÇÑÙÌÁ. ÌÜèçìá ÅéóáãùãéêÝò Ýííïéåò ÐáñÜãïõóá óõíüñôçóç

ÄÉÁÍÕÓÌÁÔÉÊÏÓ ÄÉÁÖÏÑÉÊÏÓ ËÏÃÉÓÌÏÓ

ÅÍÏÔÇÔÁ 6ç ÑÏÍÏÓ-ÄÉÁÄÏ Ç

ÄåóìåõìÝíç ðéèáíüôçôá êáé áíåîáñôçóßá ÁóêÞóåéò

[ ] ÐáñÜñôçìá É : Éóüôñïðåò ôáíõóôéêýò óõíáñôþóåéò 1. Ïñéóìüò: Ï óõììåôñéêüò ôáíõóôþò B êáëåßôáé éóüôñïðç óõíüñôçóç ôïõ óõììåôñéêïý ôáíõóôþ A (Á.

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 6: Γραμμική Άλγεβρα. Αθανάσιος Μπράτσος. Τμήμα Ναυπηγών Μηχανικών ΤΕ

ÐÑÏÓÅÃÃÉÓÇ ÅËÁ ÉÓÔÙÍ ÔÅÔÑÁÃÙÍÙÍ

ÓÔÁÔÉÊÏÓ ÇËÅÊÔÑÉÓÌÏÓ Ðåñéå üìåíá

ÌÜèçìá 1ï: ÅÉÓÁÃÙÃÇ. Ï Áëãüñéèìïò ùò Ðñþôç ¾ëç

ÄÉÁÍÕÓÌÁÔÉÊÅÓ ÓÕÍÁÑÔÇÓÅÉÓ

ÌÉÃÁÄÉÊÅÓ ÓÕÍÁÑÔÇÓÅÉÓ

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 10: Παράγωγος Συνάρτησης Μέρος ΙI. Αθανάσιος Μπράτσος. Τμήμα Ναυπηγών Μηχανικών ΤΕ

ÂÉÏÓÔÁÔÉÓÔÉÊÇ ÄéäÜóêïõóá: Â. Ðéðåñßãêïõ 30/05/2017. æùíôáíü íåïãíü ÐëÞèïò ãåííþí =

ΜΑΘΗΜΑ 1. Βαρυτικές και Μαγνητικές Μέθοδοι Γεωφυσικής Διασκόπησης ΝΟΜΟΣ ΒΑΡΥΤΗΤΑΣ NEWTON ΓΗΙΝΟ ΠΕΔΙΟ ΒΑΡΥΤΗΤΑΣ ΜΕΤΡΟΥΜΕΝΑ ΜΕΓΕΘΗ -

ΘΕΜΑ: Τροποποίηση κατηγοριών στα εγκεκριµένα ενιαία τιµολόγια εργασιών για έργα οδοποιϊας.

ÐïëëÝò åôáéñßåò ðñïóöýñïõí õðçñåóßåò

Cel animation. ÅöáñìïãÝò ðïëõìýóùí

3524 ÅÖÇÌÅÑÉÓ ÔÇÓ ÊÕÂÅÑÍÇÓÅÙÓ (ÔÅÕ ÏÓ ÄÅÕÔÅÑÏ)

ÖÅÊ 816 ÅÖÇÌÅÑÉÓ ÔÇÓ ÊÕÂÅÑÍÇÓÅÙÓ (ÔÅÕ ÏÓ ÄÅÕÔÅÑÏ) ÏÄÇÃÉÅÓ ÐÁ ÔÇ ÓÕÌÐËÇÑÙÓÇ ÔÇÓ ÁÉÔÇÓÇÓ ÅÃÊÅÊÑÉÌÅÍÏÕ ÁÐÏÈÇÊÅÕÔÇ Ï ÇÌÁÔÙÍ 1. ÇÌÅÑÏÌÇÍÉÁ: ÁíáãñÜöåô

Ç íýá Ýííïéá ôïõ ýðíïõ!

ÁÑÉÈÌÇÔÉÊÇ ÏËÏÊËÇÑÙÓÇ

ÊÅÖÁËÁÉÏ 4 ÅËÅÃ ÏÓ ÊÁËÇÓ ÐÑÏÓÁÑÌÏÃÇÓ

ÄÉÁÍÕÓÌÁÔÁ. ÌÜèçìá ÅéóáãùãéêÝò Ýííïéåò Âáóéêïß ïñéóìïß

ÓÅÉÑÁ FOURIER. ÌÜèçìá ÅéóáãùãéêÝò Ýííïéåò

Èåùñßá ÃñáöçìÜôùí: ÔáéñéÜóìáôá

Åîéóþóåéò 1ïõ âáèìïý

Ανώτερα Μαθηματικά Ι. Ανοικτά Ακαδημαϊκά Μαθήματα. Ενότητα 5: Μιγαδικές Συναρτήσεις. Αθανάσιος Μπράτσος. Τμήμα Ναυπηγών Μηχανικών ΤΕ

ÌÜèçìá 6ï: ÁËÃÏÑÉÈÌÉÊÅÓ ÔÅ ÍÉÊÅÓ

ÏñãÜíùóç ÐñïãñÜììáôïò

Εφαρμοσμένα Μαθηματικά

Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Εθνικό Μετσόβιο Πολυτεχνείο. Μαθηματική Λογική. Αποδεικτικό Σύστημα.

ÐïëõìåóéêÝò ÂÜóåéò ÄåäïìÝíùí Åñãáóßá


245/Á/1977). 2469/1997 (ÖÅÊ 36/Á/1997). 1484/Â/ ).

1.1 ÊáñôåóéáíÝò óõíôåôáãìýíåò óôï 3-äéÜóôáôï þñï

ÁÐÁÍÔÇÓÅÉÓ ÄÏÈÅÍÔÙÍ ÈÅÌÁÔÙÍ

Áíáìüñöùóç ôïõ ÐñïãñÜììáôïò Ðñïðôõ éáêþí Óðïõäþí ôïõ ÔìÞìáôïò Ìáèçìáôéêþí ôïõ

ÐÑÏÓÅÃÃÉÓÇ ÐÁÑÁÃÙÃÙÍ

ιαδικασία åãêáôüóôáóçò MS SQL Server, SingularLogic Accountant, SingularLogic Accountant Ìéóèïäïóßá

ËáíèÜíïõóá ÓçìáóéïëïãéêÞ ÁíÜëõóç

ÅñùôÞóåéò ÓõìðëÞñùóçò êåíïý

Τυπικές Γλώσσες. Μεταγλωττιστές. (μέρος 1ο) Νίκος Παπασπύου, Κωστής Σαγώνας

ÐÏËÕÙÍÕÌÉÊÇ ÐÁÑÅÌÂÏËÇ

Union of Pure and Applied Chemistry).

ÅÑÃÁÓÉÁ ÃÉÁ ÔÏ ÌÁÈÇÌÁ: ÅÉÓÁÃÙÃÇ ÓÔÇÍÁÑÉÈÌÇÔÉÊÇ ÁÍÁËÕÓÇ. ÅðéìïñöùôÞò: Â. Á. ÄÏÕÃÁËÇÓ

Üóêçóç 15. ÕëéêÜ - åîáñôþìáôá äéêôýïõ ðåðéåóìýíïõ áýñá êáé ðíåõìáôéêýò óõóêåõýò

3. ÄïìÝò ÄåäïìÝíùí êáé Áëãüñéèìïé

Áõôïñõèìéæüìåíá ÄõáäéêÜ ÄÝíäñá ÁíáæÞôçóçò

5Ô Ô ÚÓÔ. ðüóï 15 ðüóï 1/ ðüóï 2/ ðüóï 4/ ðüóï ðüóï ðüóï. 13 ðüóï 33 ðüóï ðüóï ðüóï. ðüóï 26 ðüóï 2XA ðüóï 3XA ¼ëïé ðüóï

6936 ÅÖÇÌÅÑÉÓ ÔÇÓ ÊÕÂÅÑÍÇÓÅÙÓ (ÔÅÕ ÏÓ ÄÅÕÔÅÑÏ)

Transcript:

ÌÜèçìá 7ï: ÁËÃÏÑÉÈÌÏÉ ÁÍÁÆÇÔÇÓÇÓ ÓåéñéáêÞ ÁíáæÞôçóç Ç áðëïýóôåñç ìýèïäïò áíáæþôçóçò åßíáé ç óåéñéáêþ sequetial) ãñáììéêþ liear). Áí êáé ç ìýèïäïò åßíáé áðïëýôùò ãíùóôþ áðü ôï áíôéêåßìåíï ôùí Äïìþí ÄåäïìÝíùí, åðáíáëáìâüíïõìå åëü éóôá óçìåßá ùò åéóáãùãþ óôï ðáñüí ìüèçìá. Ç åðüìåíç äéáäéêáóßá sequetial1 õðïèýôåé üôé áíáæçôåßôáé ç ôéìþ key óôïí ðßíáêá A ðïõ ðåñéý åé áôáîéíüìçôá óôïé åßá, êáé åðéóôñýöåé ôç èýóç ôïõ êëåéäéïý óôïí ðßíáêá Þ ôçí ôéìþ 0 áí ôï êëåéäß äåí õðüñ åé ðåñßðôùóç áíåðéôõ ïýò áíáæþôçóçò). procedure sequetial1key); 1. i <-- 1; 2. while i<=) do 3. if A[i]=key the retur i 4. else i <-- i+1; 5. retur 0 Ç äéáäéêáóßá áõôþ ìðïñåß íá âåëôéùèåß õéïèåôþíôáò ôçí ôå íéêþ ôïõ êüìâïõ öñïõñïý setiel), ïðüôå ç ìýèïäïò èá õëïðïéçèåß èåùñþíôáò ìßá áêüìç èýóç óôïí ðßíáêá ìå ôç ìïñöþ A[+1] <-- key. Áí êáé ðñáêôéêü ç äéáäéêáóßá èá âåëôéùèåß, óå èåùñçôéêü åðßðåäï óå êüèå ðåñßðôùóç èá éó ýïõí ïé åðüìåíåò ðñïôüóåéò õðïèýôïíôáò üôé ç ðéèáíüôçôá áíáæþôçóçò ôïõ êëåéäéïý A[i] åßíáé p i = 1/, ãéá 1 i i. Ðñüôáóç. Ç åðéôõ Þò áíáæþôçóç óå ðßíáêá ìå áôáîéíüìçôá êëåéäéü Ý åé ðïëõðëïêüôçôá È1), È) êáé È) óôçí êáëýôåñç, óôç åéñüôåñç êáé óôç ìýóç ðåñßðôùóç, áíôßóôïé á. Áðüäåéîç. Ç êáëýôåñç êáé ç åéñüôåñç ðåñßðôùóç óõìâáßíïõí üôáí ç áíáæþôçóç ôåñìáôßæåôáé ìå ôçí åîýôáóç ôçò ðñþôçò êáé ôçò ôåëåõôáßáò èýóçò ôïõ ðßíáêá, áíôßóôïé á. Ãéá ôç ìýóç ðåñßðôùóç éó ýåé üôé: E = 1 + 2 +... + áðü üðïõ ðñïêýðôåé ç áëþèåéá ôçò ðñüôáóçò. = + 1 2 Ðñüôáóç. Ç áíåðéôõ Þò áíáæþôçóç óå ðßíáêá ìå áôáîéíüìçôá êëåéäéü Ý åé ðïëõðëïêüôçôá 83

È) óôçí êáëýôåñç, óôç åéñüôåñç êáé óôç ìýóç ðåñßðôùóç. Áðüäåéîç. Óå êüèå ðåñßðôùóç èá óáñùèåß ïëüêëçñïò ï ðßíáêáò, äçëáäþ A =, êáé Üñá ç ðñüôáóç éó ýåé. Áí õðïèýóïõìå üôé ï ðßíáêáò ðåñéý åé ôáîéíïìçìýíá óôïé åßá, ôüôå ãéá ôçí åðéôõ Þ áíáæþôçóç éó ýåé ç áíùôýñù ðñüôáóç áëëü ãéá íá åðéôá ýíïõìå ôçí áíåðéôõ Þ áíáæþôçóç ðñýðåé íá ìåôáôñýøïõìå ôç äéáäéêáóßá sequetial1 ùò åîþò. procedure sequetial2key); 1. doe <-- false; i <-- 1; 2. while i<=) do 3. if A[i]>key the i <-- i+1 4. else if A[i]=key the retu i 5. else retur 0 Ðñüôáóç. Ç áíåðéôõ Þò áíáæþôçóç óå ðßíáêá ìå ôáîéíïìçìýíá êëåéäéü Ý åé ðïëõðëïêüôçôá È1), È) êáé È) óôçí êáëýôåñç, óôç åéñüôåñç êáé óôç ìýóç ðåñßðôùóç, áíôßóôïé á. Áðüäåéîç. ¼ôáí áíáæçôïýìå Ýíá ìç õðáñêôü êëåéäß, ôüôå áõôü ìðïñåß íá áíþêåé óå Ýíá áðü + 1 ìåóïäéáóôþìáôá ðïõ ó çìáôéêü) äçìéïõñãïýíôáé áðü ôéò ôéìýò ôùí óôïé- åßùí ôïõ ðßíáêá åðüíù óôçí åõèåßá ôùí áêåñáßùí. Ç êáëýôåñç êáé ç åéñüôåñç ðåñßðôùóç óõìâáßíïõí üôáí ôï áíáæçôïýìåíï key åßíáé ìéêñüôåñï áðü ôï ðñþôï óôïé åßï êáé ìåãáëýôåñï áðü ôï ôåëåõôáßï óôïé åßï ôïõ ðßíáêá, áíôßóôïé á. Ãéá ôç ìýóç ðåñßðôùóç èá ðñýðåé íá åîåôüóïõìå + 1 ðåñéðôþóåéò êáé íá ëüâïõìå ôï ìýóï üñï ôïõò. Áí ôï key åßíáé ìéêñüôåñï áðü ôï ðñþôï óôïé åßï, ôüôå áñêåß ìßá óýãêñéóç ãéá íá ôåñìáôéóèåß ç äéáäéêáóßá. Áí ôï key åßíáé ìåãáëýôåñï áðü ôï i-ïóôü êáé ìéêñüôåñï áðü ôï i + 1)-ïóôü óôïé åßï ãéá i < ), ôüôå áñêïýí i + 1 óõãêñßóåéò. Áí ôï key åßíáé ìåãáëýôåñï áðü ôï -ïóôü óôïé åßï, ôüôå áñêïýí óõãêñßóåéò. Óõíåðþò éó ýåé: A = 1 + 2 +... + + + 1 = 1 + 2 +... + + + 1 1 + 1 áðü üðïõ ðñïêýðôåé ç áëþèåéá ôçò ðñüôáóçò. ÄõáäéêÞ ÁíáæÞôçóç = + 2 2 1 + 1 Êëáóéêü ðáñüäåéãìá ôùí áëãïñßèìùí ôçò ïéêïãåíåßáò Äéáßñåé êáé Âáóßëåõå åßíáé ç ðáíôá ïý ðáñïýóá äõáäéêþ áíáæþôçóç biary search). ¼ðùò ãíùñßæïõìå ç áíáæþôçóç áõôþ åöáñìüæåôáé óå ðßíáêåò ðïõ ðåñéý ïõí ôáîéíïìçìýíá óôïé åßá. Õðåíèõìßæïíôáò üóá ôïíßóèçêáí óôï ðñïçãïýìåíï ìüèçìá ó åôéêü ìå ôçí áðïôåëåóìáôéêüôçôá ôùí áíáäñïìéêþí êáé ôùí åðáíáëçðôéêþí ìåèüäùí, óôç óõíý åéá ðáñïõóéüæïõìå ôçí åðáíáëçðôéêþ äéáäéêáóßá biary iterate êáé ôçí áíáäñïìéêþ äéáäéêáóßá biary rec ðïõ äåß íïõí ôçí ßäéá èåùñçôéêþ óõìðåñéöïñü. 84

procedure biary_iteratekey); 1. botto <-- 1; top <-- ; 2. while botto<=top) do 3. iddle <-- top+botto) div 2; 4. if A[iddle]=key the retur iddle 5. else if A[iddle]>key the top <-- iddle-1 6. else botto <-- iddle+1 7. retur 0 procedure biary_reckey, left, right); 1. if left>right the retur 0; 2. iddle <-- top+botto) div 2; 3. if A[iddle]=key the retur iddle 4. else if A[iddle]>key the 5 biary_reckey, left, iddle-1) 5. else biary_reckey, iddle+1, right); Ìðïñïýìå íá ðåñéãñüøïõìå ôç ëïãéêþ ôùí ðñïçãïýìåíùí äéáäéêáóéþí ùò åîþò. óôù üôé áíáæçôïýìå ôï áêýñáéï êëåéäß key óå Ýíá ðßíáêá A[1..] ìå ôáîéíïìçìýíïõò áêåñáßïõò áñéèìïýò. Óõãêñßíïõìå ôï êëåéäß key ìå ôï ðåñéå üìåíï ôçò ìåóáßáò èýóçò ôïõ ðßíáêá A, ðïõ åßíáé ç èýóç iddle. Óôï óçìåßï áõôü ôñßá åíäå üìåíá ìðïñåß íá óõìâïýí: 1. ôá äýï óôïé åßá åßíáé ßóá, ïðüôå ï óêïðüò ìáò åðéôåý èçêå, 2. ôï key åßíáé ìéêñüôåñï áðü ôï A[iddle], ïðüôå åßìáóôå âýâáéïé üôé ôï key áðïêëåßåôáé íá âñßóêåôáé óôïí õðïðßíáêá A[iddle..top]. ôóé óõíå ßæïõìå óôïí õðïðßíáêá A[botto..iddle-1] åîåôüæïíôáò ôï ìåóáßï óôïé åßï ôïõ, 3. ôï key åßíáé ìåãáëýôåñï ôïõ A[iddle], ïðüôå ôï key óáöþò äåí âñßóêåôáé óôïí õðïðßíáêá A[botto..iddle]. ôóé, óõíå ßæïõìå êáé ðüëé åîåôüæïíôáò ôï ìåóáßï óôïé åßï ôïõ õðïðßíáêá A[iddle+1..top]. Ïé áíùôýñù äéáäéêáóßåò åðéóôñýöïõí ôç èýóç ôïõ key ìýóá óôïí ðßíáêá. Áí ôï key âñßóêåôáé ðñüãìáôé ìýóá óôïí A, ôüôå åðéóôñýöåé ôç óõãêåêñéìýíç èýóç, åíþ óôçí áíôßèåôç ðåñßðôùóç åðéóôñýöåé ôçí ôéìþ 0. Óôç óõíý åéá èá åîåôüóïõìå áíáëõôéêü ôç äõáäéêþ áíáæþôçóç. Ìßá âáóéêþ õðüèåóç ðïõ ãßíåôáé óôï óçìåßï áõôü åßíáé üôé ç óýãêñéóç åßíáé ôñéþí äñüìùí 3- way copariso). ÄçëáäÞ, ìå ìïíáäéáßï êüóôïò áðïöáóßæïõìå íá åðéëýîïõìå Ýíá ìåôáîý ôñéþí äñüìùí. ÊÜèå öïñü, ëïéðüí, ðïõ ç óýãêñéóç ôïõ key ìå ôï ìåóáßï óôïé åßï ôïõ ðßíáêá äåí êáôáëþîåé óå éóüôçôá, ç óýãêñéóç åðáíáëáìâüíåôáé óå õðïðßíáêá ìéóïý ìåãýèïõò óå ó Ýóç ìå ôï ìýãåèïò ôïõ áñ éêïý. ÅðïìÝíùò åýêïëá ðñïêýðôåé ç áíáäñïìéêþ åîßóùóç: T 0) = 0 T ) = 1 if key = A[iddle] = 1 + T + 1)/2 1) if key < A[iddle] = 1 + T + 1)/2 ) if key > A[iddle] 85

Áðëïðïéïýìå ôç ó Ýóç áõôþ èåùñþíôáò ôç åéñüôåñç ðåñßðôùóç äçëáäþ, áãíïïýìå ôï äåýôåñï óêýëïò) êáé üôé = 2 k 1 ãéá êüðïéï áêýñáéï áñéèìü k. ôóé ðñïêýðôåé: T 2 k 1) = 1 + T 2 k 1 1) ìå áñ éêþ óõíèþêç T 0) = 0. ôóé äéáäï éêü Ý ïõìå: T ) = 1 + 1 + T 2 k 2 1) ) = 1 + 1 + 1 + T 2 k 3 1)) ). = i + T 2 k i 1) = k + T 0) = k = lg + 1) ôóé, ëïéðüí, ãéá = 2 k 1 ðñïêýðôåé üôé ç ðïëõðëïêüôçôá ôçò äõáäéêþò áíáæþôçóçò åßíáé ëïãáñéèìéêþ. Åýêïëá ìðïñåß íá áðïäåé èåß üôé ç ðïëõðëïêüôçôá åßíáé È lg + 1) ) ãéá ôõ üí. Êáôáêåñìáôéóìüò Ìå ôïí üñï êáôáêåñìáôéóìüò hashig) äçëþíåôáé Ýíá ðïëý åõñý áíôéêåßìåíï, ôüóï óå èåùñçôéêü åðßðåäï üóï êáé óå ðñáêôéêü. Ôï ðñüâëçìá ôïõ ó åäéáóìïý áðïôåëåóìáôéêþí ôå íéêþí êáôáêåñìáôéóìïý ðñïêýðôåé ëüãù ôùí ðïëëþí äéáöïñåôéêþí ðåñéâáëëüíôùí êáé åöáñìïãþí üðïõ ìðïñåß íá åöáñìïóèåß, üðùò óå ðåñéðôþóåéò ìåôáãëùôôéóôþí, âüóåùí äåäïìýíùí, áíüêôçóçò ðëçñïöïñéþí êëð. Õðü ðñïûðïèýóåéò ïé ìýèïäïé ôïõ êáôáêåñìáôéóìïý Ý ïõí ðïëý êáëþ êáé óôáèåñþ åðßäïóç, ðïõ õðåñôåñåß ôçò äõáäéêþò áíáæþôçóçò ðïõ åîåôüóáìå ðñïçãïõìýíùò. ÅíáëëáêôéêÞ ïíïìáóßá ôïõ êáôáêåñìáôéóìïý åßíáé ìåôáó çìáôéóìüò êëåéäéïý óå äéåýèõíóç key to address trasfratio). Ï ìåôáó çìáôéóìüò áõôüò åðéôõã Üíåôáé ìå ôç âïþèåéá ôçò óõíüñôçóçò êáôáêåñìáôéóìïý hashig fuctio), ç ïðïßá üìùò äåí åßíáé áìöéìïíïóþìáíôç. ÄçëáäÞ, åßíáé äõíáôüí äýï äéáöïñåôéêü êëåéäéü íá áíôéóôïé ßæïíôáé óôçí ßäéá äéåýèõíóç ôïõ ðßíáêá. Ôï öáéíüìåíï áõôü ïíïìüæåôáé óýãêñïõóç collisio) êáé áðïôåëåß ôï ìåéïíýêôçìá ôçò ìåèüäïõ. ÏõóéáóôéêÜ, êüèå ìýèïäïò êáôáêåñìáôéóìïý ðñïôåßíåé êáé ìßá äéáöïñåôéêþ ôå íéêþ åðßëõóçò ôùí óõãêñïýóåùí. Ôï åñþôçìá ðïõ ôßèåôáé åßíáé ðüóï óõ íü ìðïñåß íá åìöáíéóèåß ðåñßðôùóç óýãêñïõóçò. Óôï åñþôçìá áõôü áðáíôü ôï åðüìåíï ðáñüäåéãìá ôïõ ðáñáäüîïõ ôùí ãåíåèëßùí birthday paradox). Ôï ðáñüäïîï ôùí ãåíåèëßùí. óôù üôé åðéëýãïíôáé ôõ áßá Üôïìá áðü ôï ðëþèïò. ÊÜèå öïñü åëýã ïõìå áí ôï åðéëåãüìåíï Üôïìï Ý åé ãåíýèëéá ôçí ßäéá çìýñá ìå ôïõò Þäç åðéëåãýíôåò. Ç åñþôçóç åßíáé ðüóá Üôïìá ðñýðåé íá åðéëåãïýí þóôå ç ðéèáíüôçôá äýï Þ ðåñéóóüôåñá Üôïìá íá Ý ïõí ôçí ßäéá çìýñá ãåíýèëéá íá åßíáé ðåñéóóüôåñï áðü 50%. Êáô áñ Þí õðïèýôïõìå üôé üëåò ïé çìýñåò ôïõ ñüíïõ åßíáé éóïðßèáíï íá åßíáé çìýñåò ãåíåèëßùí. Óå ìßá ôýôïéá ðåñßðôùóç, ç ðéèáíüôçôá äýï Üôïìá íá Ý ïõí ôçí ßäéá çìýñá 1 ãåíýèëéá åßíáé 365 ãåíýèëéá åßíáé 1-1 365, ïðüôå ç ðéèáíüôçôá äýï Üôïìá íá ìçí Ý ïõí ôçí ßäéá çìýñá. Ïìïßùò, ç ðéèáíüôçôá ôï ôñßôï åðéëåãüìåíï Üôïìï íá ìçí 86

Ý åé ãåíýèëéá ìå ôïõò äýï ðñïçãïýìåíïõò åðéëåãýíôåò åßíáé 1-2 365. Ìå ôç ëïãéêþ áõôþ êáôáëþãïõìå üôé ðñýðåé íá ðñïóäéïñßóïõìå ôï i åêåßíï ãéá ôï ïðïßï éó ýåé ç ó Ýóç: 1 1 365 ) 1 2 365 )... 1 i 365 ) 1/2 Áîéïðïéþíôáò ôç ó Ýóç 1 + x e x ðïõ éó ýåé ãéá êüèå x üðùò åßäáìå óå ðñïçãïýìåíï ìüèçìá), ðñïêýðôåé ç éóïäýíáìç ó Ýóç: e 1/365 e 2/365... e i/365 1/2 e 1/365 i j j=1 1/2 1 i j l 1 365 2 = l 2 j=1 1 ii + 1) l 2 365 2 Ìå êáôüëëçëç Üëãåâñá êáé ëýíïíôáò ôçí ðáñáãüìåíç ôåôñáãùíéêþ åîßóùóç öèüíïõìå óôï óõìðýñáóìá üôé ç æçôïýìåíç ôéìþ åßíáé i = 23. Ôï áðïôýëåóìá áõôü èåùñåßôáé ðáñüäïîï, êáèþò êüðïéïò èá áíýìåíå üôé ç óõãêåêñéìýíç ðéèáíüôçôá äçëáäþ, äýï Þ ðåñéóóüôåñá Üôïìá íá Ý ïõí ôçí ßäéá çìýñá ãåíýèëéá íá åßíáé ðåñéóóüôåñï áðü 50%) èá óõíýâáéíå ãéá Ýíá ìåãáëýôåñï óýíïëï áôüìùí. Áðü ôï ðáñüäïîï áõôü ìðïñïýìå íá óêåöôïýìå ôçí áíáëïãßá óå ó Ýóç ìå ôïí êáôáêåñìáôéóìü, äçëáäþ üôé ïé 365 çìýñåò áíôéóôïé ïýí óå èýóåéò åíüò ðßíáêá, åíþ ôá Üôïìá áíôéóôïé ïýí óå êëåéäéü ðïõ åéóüãïíôáé óôïí ðßíáêá. Ìå âüóç ôç äõùíõìéêþ êáôáíïìþ ðñïêýðôåé üôé ç ðéèáíüôçôá êáôü ôçí åéóáãùãþ êëåéäéþí, k áðü áõôü íá óõìðýóïõí óôçí ßäéá èýóç åßíáé: ) k 1 1 1 ) k ) k Ãéá áñêåôü ìåãüëï ç ðñïçãïýìåíç ó Ýóç ðñïóåããßæåôáé áðü 1/ek!). Áðü ôçí ðñïçãïýìåíç äõùíõìéêþ êáôáíïìþ óõíüãåôáé üôé áí óå ðßíáêá 1000 èýóåùí åéóá- èïýí = 1000 êëåéäéü, ôüôå ï ç ðéèáíüôçôá óå ìßá èýóç ôïõ ðßíáêá íá áíôéóôïé- çèïýí k êëåéäéü ðñïêýðôåé ùò åîþò:. k ðéèáíüôçôá k óõãêñïýóåùí % 0 37 1 37 2 18 3 6 4 1.5 5 0.3 Óõíåðþò, ç ðéèáíüôçôá íá ðáñïõóéáóèïýí óõãêñïýóåéò åßíáé óçìáíôéêüôáôç êáé ãéá ôï ëüãï áõôü Ý ïõí ðñïôáèåß ôüóåò ðïëëýò ôå íéêýò áíôéìåôþðéóçò ôïõ ðñïâëþìáôïò. 87

ÃñáììéêÞ ÁíáæÞôçóç Ï áíïéêôüò êáôáêåñìáôéóìüò ope addressig) åßíáé ìßá ïéêïãýíåéá áëãïñßèìùí ðïõ äåí ñçóéìïðïéïýí äåßêôåò ãéá ôï åéñéóìü ôùí ðéíüêùí. Óôçí ïéêïãýíåéá áõôþ áíþêïõí áñêåôýò ôå íéêýò, ìåôáîý ôùí ïðïßùí ç ãñáììéêþ áíáæþôçóç liear probig), ç ôåôñáãùíéêþ áíáæþôçóç quadratic probig), êáé o äéðëüò êáôáêåñìáôéóìüò double hashig). Ôçí áðëïýóôåñç ôå íéêþ ôçò ãñáììéêþò áíáæþôçóçò èá åîåôüóïõìå óôç óõíý åéá. Ç åðüìåíç äéáäéêáóßá isert ðáñéóôü ôïí áëãüñéèìï åéóáãùãþò õðïèýôïíôáò üôé ï ðßíáêáò A Ý åé èýóåéò. Óýìöùíá ìå ôç ìýèïäï áõôþ, êáôü ôçí åéóáãùãþ åíüò êëåéäéïý êáëåßôáé ç óõíüñôçóç êáôáêåñìáôéóìïý ðïõ äßíåé ôç äéåýèõíóç ôïõ ðßíáêá üðïõ èá ðñýðåé íá åéóá èåß ôï êëåéäß. Áí ç èýóç äåí åßíáé êáôåéëçììýíç, ôüôå ôï êëåéäß åéóüãåôáé êáé ç äéáäéêáóßá ôåñìáôßæåé. Áí ç èýóç åßíáé êáôåéëçììýíç, ôüôå äïêéìüæåôáé ç åðüìåíç èýóç äéáäï éêü ìý ñé íá ôïðïèåôçèåß ôï êëåéäß Þ íá ãßíïõí ðñïóðüèåéåò, ãåãïíüò ðïõ äçëþíåé üôé ï ðßíáêáò åßíáé ðëþñçò. procedure isertkey); 1. address <-- hashkey); cout <-- 0; 2. while A[address]<>0) ad cout<=) do 3. cout <-- cout+1; 4. address <-- address+1) od ; 5. if A[address]=0 the 6. A[address] <-- key; retur true 7. else retur false Ôï åðüìåíï ó Þìá äåß íåé Ýíá ðáñüäåéãìá ôçò äïìþò áõôþò ìå = 11 êáé = 8. Ðéï óõãêåêñéìýíá, åéóüãïíôáé ìå ôç óåéñü ôá êëåéäéü 52, 12, 71, 56, 5, 10, 19 êáé 90, åíþ ç ñçóéìïðïéïýìåíç óõíüñôçóç êáôáêåñìáôéóìïý åßíáé: hashkey) = key od a) 0 1 2 3 4 5 6 7 8 9 10 12 71 52 b) 12 56 71 52 g) d) e) 12 56 71 5 52 10 12 56 71 5 52 19 10 12 56 90 71 5 52 19 10 Ó Þìá 11: ÐáñÜäåéãìá êáôáêåñìáôéóìïý ìå ãñáììéêþ áíáæþôçóç. Ðáñüìïéï åßíáé êáé ôï óêåðôéêü ôïõ áëãïñßèìïõ áíáæþôçóçò, üðùò öáßíåôáé óôçí åðüìåíç äéáäéêáóßá isert, ðïõ åðéóôñýöåé ôç äéåýèõíóç ôïõ ðßíáêá üðïõ ôï êëåéäß åßíáé áðïèçêåõìýíï Þ åðéóôñýöåé ôçí ôéìþ -1 áí ôï êëåéäß äåí õðüñ åé óôïí ðßíáêá. 88

procedure searchkey); 1. address <-- hashkey); cout <-- 0; 2. while A[address]<>key) ad cout<=) do 3. cout <-- cout+1; 4. address <-- address+1) od 5. if cout= the retur -1 else retur address Èá áíáëýóïõìå ôçí åðßäïóç ôçò ìåèüäïõ ãéá ôçí ðåñßðôùóç ôçò åðéôõ ïýò êáé ôçò áíåðéôõ ïýò áíáæþôçóçò, Å êáé Á áíôßóôïé á, äçëáäþ üôáí áíáæçôïýìå Ýíá õðáñêôü Þ áíýðáñêôï êëåéäß ìýóá óôïí ðßíáêá. ÕðïèÝôïõìå üôé ç óõíüñôçóç êáôáêåñìáôéóìïý ðáñüãåé ìßá ôõ áßá äéüôáîç ôùí êëåéäéþí, ïðüôå ïé èýóåéò óôïí ðßíáêá åîåôüæïíôáé ìå ôõ áßï ôñüðï. Áñ éêü èá áó ïëçèïýìå ìå ôçí áíåðéôõ Þ áíáæþôçóç. Ïé ðáñüìåôñïé ðïõ õðåéóýñ ïíôáé óôçí áíüëõóç ôçò åðßäïóçò ôçò ìåèüäïõ åßíáé ôï ìýãåèïò ôïõ ðßíáêá, ôï ðëþèïò ôùí êëåéäéþí êáé ï ðáñüãïíôáò öüñôùóçò load factor) α = / 1. Áò õðïèýóïõìå üôé ìßá áíåðéôõ Þò áíáæþôçóç áðáéôåß i ðñïóðåëüóåéò 1 i ) óôïí ðßíáêá. Óôçí ðåñßðôùóç áõôþ èá ãßíïõí i 1 ðñïóðåëüóåéò óå êáôåéëçììýíåò èýóåéò ôïõ ðßíáêá, åíþ ç i-ïóôþ èá ðñïóðåëüóåé ìßá êåíþ èýóç. ÅðïìÝíùò, áí åîáéñýóïõìå áõôþí ôçí ïìüäá ôùí i óõíå üìåíùí èýóåùí, ìýíïõí i èýóåéò åê ôùí ïðïßùí êáôåéëçììýíåò åßíáé ïé i + 1 èýóåéò. Ôï ðëþèïò ) ôùí i, åíþ ôï i + 1 ôñüðùí ðïõ ìðïñåß íá åìöáíéóèåß áõôþ ç ðåñßðôùóç åßíáé óýíïëï ôùí ðåñéðôþóåùí åßíáé ðñïóðåëüóåéò åßíáé: ). Óõíåðþò, ç ðéèáíüôçôá íá áðáéôçèïýí i i ) P i = i + 1 ) ñá éó ýåé: A = i P i = + 1) + 1 i) P i Èåùñïýìå ôï ôåëåõôáßï Üèñïéóìá êáé åðåîåñãáæüìáóôå ôï ðåñéå üìåíü ôïõ: + 1 i) P i = i + 1) i)! 1)! i+1)! ) = ) i + 1 ) ÅðïìÝíùò åðéóôñýöïíôáò óôï A Ý ïõìå: A = + 1) ) i + 1 ) 89

Ìå âüóç ôçí ôáõôüôçôá ôùí óõíäõáóìþí, ôçí ïðïßá ãíùñßæïõìå áðü ôï äåýôåñï ìüèçìá, Ý ïõìå äéáäï éêü: ) A = + 1) ) + 1 ) =... = + 1 + 1 1 1 α Ôï áðïôýëåóìá áõôü åîçãåßôáé êáé äéáéóèçôéêü. Ôï α äçëþíåé ôï ðïóïóôü ôùí êáôåéëçììýíùí èýóåùí, ïðüôå ôï 1 α äçëþíåé ôï ðïóïóôü ôùí êåíþí èýóåùí. 1 ñá áíáìýíïõìå íá åêôåëýóïõìå 1 α ðñïóðåëüóåéò ðñéí íá åíôïðßóïõìå ìßá êåíþ èýóç. Ãéá íá öèüóïõìå óôçí áíôßóôïé ç Ýêöñáóç ãéá ôçí åðéôõ Þ áíáæþôçóç áñêåß íá ðáñáôçñþóïõìå üôé ôï ðëþèïò ôùí ðñïóðåëüóåùí ãéá ôçí åýñåóç åíüò êëåéäéïý éóïýôáé ìå ôï ðëþèïò ôùí ðñïóðåëüóåùí ðïõ åßíáé áðáñáßôçôåò ãéá ôçí åéóáãùãþ ôïõ äçëáäþ, i 1 ðñïóðåëüóåéò óå êáôåéëçììýíåò èýóåéò êáé ìßá ðñïóðýëáóç óå êåíþ èýóç). Óõíåðþò êáôáëþãïõìå üôé: E = 1 1 A = 1 i=0 1 i=0 + 1 i + 1 = + 1 H +1 H +1 ) + 1 l + 1) l + 1)) = + 1 + 1 l + 1 1 α l 1 1 α Óôéò ßäéåò åêöñüóåéò ãéá ôá E êáé A ìðïñïýìå íá êáôáëþîïõìå óôçñéæüìåíïé óå Ýíá äéáöïñåôéêü óêåðôéêü. óôù üôé ìå P i óõìâïëßæïõìå ôçí ðéèáíüôçôá íá áðáéôçèïýí áêñéâþò i ðñïóðåëüóåéò ãéá ìßá áíåðéôõ Þ áíáæþôçóç, ïðüôå éó ýåé: E = 1 + i P i óôù åðßóçò üôé ìå Q i óõìâïëßæïõìå ôçí ðéèáíüôçôá íá áðáéôçèïýí ôïõëü éóôïí i ðñïóðåëüóåéò, ïðüôå éó ýåé ç ó Ýóç: i P i = i=0 Ôï ðñüâëçìá, ëïéðüí, áíüãåôáé óôïí ðñïóäéïñéóìü ôïõ Q i. Ðñïöáíþò, éó ýåé 1 Q 1 = α, Q 2 = Q 1 1, åíþ ãåíéêþò éó ýåé: Q i = 1 1... i + 1 ) i i + 1 = α i i=0 Åðáíåñ üìåíïé óôç ó Ýóç ãéá ôï E) Ý ïõìå: E = Q i 1 + α + α 2 + α 3 +... = Q i 1 1 α 90

Êáôáêåñìáôéóìüò ìå Áëõóßäåò ÁíáöÝñáìå üôé ç ïéêïãýíåéá ôùí ìåèüäùí êáôáêåñìáôéóìïý ìå áíïéêôþ äéåýèõíóç äåí ñçóéìïðïéåß åðéðëýïí þñï ðýñáí ôïõ þñïõ ôïõ óõãêåêñéìýíïõ ðßíáêá. Ìßá Üëëç ìåãüëç ïéêïãýíåéá ìåèüäùí êáôáêåñìáôéóìïý ñçóéìïðïéåß áëõóßäåò ðïõ îåêéíïýí áðü ôéò èýóåéò ôïõ ðßíáêá êáé ìðïñïýí íá åðåêôáèïýí äõíáìéêü. Óå åðßðåäï ôýðùí õðïèýôïõìå üôé õðüñ åé ìßá äïìþ record ìå äýï ðåäßá, üðïõ ôï ðñþôï ðåäßï data áöïñü óôá êáèáñü äåäïìýíá, åíþ ôï äåýôåñï ðåäßï ptr ðáñéóôü ôï äåßêôç ðñïò ôïí åðüìåíï êüìâï ôçò áëõóßäáò. Ôï äéðëáíü ó Þìá äåß íåé Ýíá ðáñüäåéãìá ôçò äïìþò áõôþò ìå = 11 êáé = 8 ôá ßäéá êëåéäéü ìå ôï ðñïçãïýìåíï ðáñüäåéãìá). Ðéï óõãêåêñéìýíá, ðñýðåé íá Ý ïõìå õð üøç ìáò üôé ç ðáñáëëáãþ áõôþ ëýãåôáé ìýèïäïò ìå îå ùñéóôýò áëõóßäåò separate chaiig) êáèþò õðüñ åé êáé ç ìýèïäïò ôùí óýìöõôùí áëõóßäùí coalesced chaiig), ç ïðïßá üìùò äåí èá ìáò áðáó ïëþóåé óôç óõíý åéá. Ï øåõäïêþäéêáò chaisearch ðïõ áêïëïõèåß äåß íåé ôç äéáäéêáóßá åðéôõ ïýò êáé áíåðéôõ ïýò áíáæþôçóçò. 0 1 2 3 4 5 6 7 8 9 10 56 90 5 19 10 12 71 52 Ó Þìá 12: ÐáñÜäåéãìá êáôáêåñìáôéóìïý ìå áëõóßäåò. procedure chaisearchkey); 1. address <-- hashkey); j <-- A[address]; 2. while j<>il) do 3. if j.data=key the retur true 4. else j <-- j.ptr 5. retur false Èá åîåôüóïõìå êáô áñ Þí ôçí ðåñßðôùóç ôçò áíåðéôõ ïýò áíáæþôçóçò. ÕðïèÝôïíôáò ìßá ôõ áßá óõíüñôçóç êáôáêåñìáôéóìïý, áíáìýíïõìå üôé êüèå êëåéäß èá êáôåõèõíèåß óå ïðïéáäþðïôå èýóç áðü ôéò èýóåéò ôïõ ðßíáêá ìå ôçí ßäéá ðéèáíüôçôá 1/ åíôïëþ 1). Óôç óõíý åéá ç áíáæþôçóç èá óõíå éóèåß óôçí áíôßóôïé ç áëõóßäá åíôïëýò 3-5), ðïõ èá äéáó ßóåé ìý ñé ôýëïò ôçò þóôå íá åðéóôñáöåß ç Ýíäåéîç false. ÅðïìÝíùò, ç åðßäïóç åîáñôüôáé áðü ôï ìþêïò ôçò áëõóßäáò, êáé åö üóïí óõíïëéêü Ý ïõí åéóá èåß êëåéäéü óå üëåò ôéò áëõóßäåò, Ýðåôáé üôé ôï ìýóïò ìþêïò ôçò áëõóßäáò åßíáé / = α. ñá, ç ðïëõðëïêüôçôá ôçò áíåðéôõ ïýò áíáæþôçóçò åßíáé È1+α) óôç ìýóç ðåñßðôùóç. Ãéá íá åîåôüóïõìå ôçí ðåñßðôùóç ôçò åðéôõ ïýò áíáæþôçóçò èá õðïèýóïõìå üôé êüèå íýï êëåéäß åéóüãåôáé óôï ôýëïò ôçò áíôßóôïé çò áëõóßäáò. ÅðïìÝíùò ôï 91

ðëþèïò ôùí ðñïóðåëüóåùí ðïõ èá ðñáãìáôïðïéçèïýí ãéá ìßá åðéôõ Þ áíáæþôçóç åßíáé ìßá ìïíüäá ðåñéóóüôåñï áðü ôï ðëþèïò ðïõ áðáéôïýíôáé ãéá ôçí åéóáãùãþ ôïõ áíôßóôïé ïõ êëåéäéïý. ¼ôáí åéóüãåôáé ôï i-ïóôü êëåéäß, ôï ìþêïò ôçò áíôßóôïé çò áëõóßäáò åßíáé i 1)/. ÅðïìÝíùò éó ýåé: E = 1 = 1 + 1 1 + i 1 ) 1) 2 = 1 + 1 i 1) = 1 + α 2 1 2 Óõíåðþò êáé ðüëé ðñïêýðôåé üôé ç ðïëõðëïêüôçôá åßíáé È1 + α) óôç ìýóç ðåñßðôùóç. Óôï óçìåßï áõôü ðñýðåé íá ðñïóå èåß üôé óôçí ðåñßðôùóç ôçò áíïéêôþò äéåýèõíóçò éó ýåé α 1, áëëü óôçí ðåñßðôùóç ôùí áëõóßäùí äåí éó ýåé áõôüò ï ðåñéïñéóìüò. ÅðïìÝíùò ç åðßäïóç ôçò åðéôõ ïýò êáé ôçò áíåðéôõ ïýò áíáæþôçóçò åßíáé éêáíïðïéçôéêþ üôáí ôï åßíáé ôçò ôüîçò ôïõ, åðïìýíùò ôï α åßíáé ôçò ôüîçò ôçò ìïíüäáò. 2) 92