ALG 1

ALG 1



7.3. Transformacja kluczowa 201

int pos=H(x.v); while (TTposl != WOLNE) po3 - (po3il) % Rmax;

T[pos]=x;

Załóżmy teraz, że poszukujemy elementu charakteryzującego się kluczem k. W takim przypadku funkcja szukaj mogłaby wyglądać następująco:

int pos=H(k);

while |(T[pos] != WOLNE) ss (T[pos].v != k)) pos = (pos+1) % Rmax;

return T[po3]; II zwraca znaleziony element

Różnica pomiędzy poszukiwaniem i wstawianiem jest w przypadku transformacji kluczowej doprawdy nieznaczna. Algorytmy są celowo zapisane w pseudokodzie, bowiem sensowny przykład korzystający z tej metody musiałby zawierać dokładne deklaracje typu danych, tablicy, funkcji H. wartości specjalnej WOLNE - analiza tego byłaby bardzo nużąca. Instrukcja pos = (pos+l) % Rmax zapewnia nam powrót do początku tablicy w momencie dotarcia do jej końca podczas (kolejnych) iteracji pętli while.

Dla ilustracji spójrzmy, jak poradzi sobie nowa metoda przy próbie sukcesywnego wstawienia do tablicy Trekordowi, B. C. D. E, F. G i //którym funkcja El przydzieliła adresy (indeksy): 1. 3. 2. 5. 5. 1.7 i 7. Ustalmy ponadto rozmiar tablicy T na 8 - wyłącznie w ramach przykładu, bowiem w praktyce taka wartość nie miałaby zbytniego sensu. Efekt jest przedstawiony na rysunku 7-3:


Rys. 7-3.

Obsługa konjhk-I lów dostępu przez próbkowanie liniowe.

Dość ciekawymi jawią się teoretyczne wyliczenia średniej ilości prób potrzebnej do odnalezienia danej x. W przypadku poszukiwania zakończonego sukcesem średnia liczba prób wynosi około:


Wyszukiwarka

Podobne podstrony:
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ż
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
ALG7 7.3. Transformacja kluczowa 197 Istnieją dwie wartości parametru 67, które „rozrzucają” klucze
ALG9 7.3. Transformacja kluczowa 199 Co jest niepokojące w zaproponowanej powyżej metodzie? Zapreze
Egzamin z programowania 1 Imię i nazwisko:_ Zad. 1. Dopasuj fragment kodu do rysunku c) int x = 5; d
Realizacja — iteracji while:Realizacja — iteracji for int strlen( char s[] ){ int len = 0; while( s[
FILTR NOI w procesorze TMS320C67134 //zmienne globalne intl6 BUF[8); //tymczasowy bufor int pos; //z
ALG 0 250 RozdziaMO. Elementy algorytmiki gratów ( z-O; while(l) // pętla nieskończona I if(z==n)
skanuj0001 Imię i nazwisko:_ Zad. % Dopasuj fragment kodu do rysunku c) int x = 5; do {x+=3;}&n
ALG!8 218 Rozdział 8. Przeszukiwanie tekstów for(i—M 1,j —M-l; j>0; i — , j—) while(t[i]!=włj)) (
IMG201 201 Rys. 16.2. Schemat obwodu do pomiaru biagu Jałowego transformatora Tabela 16.1 obliczyć c
img201 201 Rys. 1.78. Widmo gęstości mocy sygnału nieciągłego kluczowania częstotliwości FSK dla róż
225 Transfer Reaction of (//d) + He”, Int. Conf. on Muon Catalyzed Fusion, Wien, May (1990). 25

więcej podobnych podstron