ALG7

ALG7



7.3. Transformacja kluczowa 197

Istnieją dwie wartości parametru 67, które „rozrzucają” klucze w miarę równomiernie po tablicy:

V5-l

0, = —^— = 0.6180339887 i ą = l 0, = 0,3819660113.

Powyższa informacja jest prezentem od matematyków, a ponieważ darowanemu koniowi nie patrzy się w zęby... to nie będziemy zbytnio wnikać w kwestię, JAK oni to wynaleźli!

Przykład:

Dla 0 = 0,6180339887, Emm= 30 i klucza v=„KOT"=l 1732 otrzymamy’ H(..KOT")-23.

7.3.3.Obsługa konfliktów dostępu

Kilka prostych eksperymentów przeprowadzonych z funkcjami zaprezentowanymi w poprzednim paragrafie prowadzi do szybkiego rozczarowania. Spostrzegamy, iż nie spełniają one założonych własności, co może łatwo skłonić do zwątpienia w sens całej prezentacji. Cóż, prawda należy do złożonych. Z jednej strony widzimy już, że idealne funkcje H nie istnieją1 2, z drugiej zaś strony dziwnym byłoby zaczynać dyskusję o transformacji kluczowej i doprowadzić ją do stwierdzenia, że... jej realizacja nie jest możliwa praktycznie! Oczywiście nie jest aż tak źle. Istnieje kilka metod, które pozwalają poradzić sobie w zadowalający sposób z zauważonymi niedoskonałościami, i one właśnie będą stanowić przedmiot naszych dalszych rozważań.

Powrót do źródeł

Co robić w przypadku stwierdzenia kolizji dwóch odmiennych rekordów, którym funkcja //przydzieliła ten sam indeks w tablicy 7? Okazuje się, że można sobie poradzić poprzez pewną zmianę w samej filozofii transformacji kluczowej. Otóż, jeśli umówimy się, że w tablicy T zamiast rekordów' będziemy zapamiętywać głowy list do elementów charakteryzujących się tym samym kluczem, wówczas problem mamy... z głowy! Istotnie, jeśli wstawiając element x do tablicy

1

   Programowo można otrzymać tę wartość przy pomocy instrukcji (int)(frnod( 11732* 0.61803398887, l)*30); ponadto należy na początku programu dopisać #include<math.h>

2

   Daje się to nawet uzasadnić teoretycznie (patrz np. dobrze znany w statystyce tzw. paradoks urodzin).


Wyszukiwarka

Podobne podstrony:
ALG3 7.3. Transformacja kluczowa 193 Naturalną konsekwencją nowego sposobu zapamiętywania danych je
ALG5 7,3. Transformacja kluczowa 195 tylko, aby jako wynik otrzymać pewną liczbę, którą można późni
ALG9 7.3. Transformacja kluczowa 199 Co jest niepokojące w zaproponowanej powyżej metodzie? Zapreze
Zadania do rozdziału 2.166 2.3. Zbadaj, czy istnieją takie wartości parametrów aib(a,be R), dla któr
ALG 1 7.3. Transformacja kluczowa 201 int pos=H(x.v); while (TTposl != WOLNE) po3 - (po3il) %
ALG 3 7.3. Transformacja kluczowa 203 oznaczonego symbolicznie jako START. Proces poszukiwania zakoń
ALG 5 7.3. Transformacja kluczowa 205 liczba jest z dużym prawdopodobieństwem przewidywalna. Nic moż
Analiza zapasów ABC. Zakłada, że istnieją dwie grupy zapasów - zapasy o wysokiej wartości i małej il
KI7 taktyki „wciskania na siłę”. Pokrewną wartością jest jai yen, co znaczy dosłownie „chłodne serc
skanuj0103 (13) 210 AKSJOI IX HA I IYCZNA Duże znaczenie dla zagadnienia istnienia absolutnych warto

więcej podobnych podstron