Mai intai trebuie sa te autentifici.
Diferente pentru tabele-hash-prezentare-detaliata intre reviziile #17 si #16
Nu exista diferente intre titluri.
Diferente intre continut:
h2. Metoda inmultirii
Pentru aceasta metoda functia hash este<tex>h(x) = [M*(x*A\mod\1)]</tex>. Aici<tex>A</tex>este un numar pozitiv subunitar,<tex>0 < A < 1</tex>, iar prin<tex>x*A\mod\1</tex>se intelege partea fractionara a lui<tex>x*A</tex>, adica<tex>x*A - [x*A]</tex>. De exemplu, daca alegem $M=1234$ si $A=0.3$, iar $x=1997$, atunci avem $h(x) = [1234*(599.1 mod 1)] = [1234*0.1] = 123$. Se observa ca functia $h$ produce numere intre 0 si $M-1$. Intr-adevar $0 ≤ x*A mod 1 < 1$ <tex> \Rightarrow </tex> $0 ≤ M*(x*A mod 1) < M$.
Pentru aceasta metoda functia hash este $h(x) = [M*(x*A mod 1)]$. Aici $A$ este un numar pozitiv subunitar, $0 < A < 1$, iar prin $x*A mod 1$ se intelege partea fractionara a lui $x*A$, adica $x*A - [x*A]$. De exemplu, daca alegem $M=1234$ si $A=0.3$, iar $x=1997$, atunci avem $h(x) = [1234*(599.1 mod 1)] = [1234*0.1] = 123$. Se observa ca functia $h$ produce numere intre 0 si $M-1$. Intr-adevar $0 ≤ x*A mod 1 < 1$ <tex> \Rightarrow </tex> $0 ≤ M*(x*A mod 1) < M$.
In acest caz, valoarea lui $M$ nu mai are o mare importanta. O putem deci alege cat de mare ne convine, eventual o putere a lui 2. In practica, s-a observat ca dispersia este mai buna pentru unele valori ale lui A si mai proasta pentru altele. Donald Knuth propune valoarea <tex> A = \frac{\sqrt{5}-1}{2} \approx 0.618034 </tex>.