Diferente pentru tabele-hash-prezentare-detaliata intre reviziile #18 si #19

Nu exista diferente intre titluri.

Diferente intre continut:

h2. Metoda inmultirii
Pentru aceasta metoda functia hash este <tex>h(x) = [M*\{x*A\}]</tex>. Aici <tex>A</tex> este un numar pozitiv subunitar, <tex>0 < A < 1</tex>, iar prin <tex>\{x*A\}</tex>  se intelege partea fractionara a lui <tex>x*A</tex>, adica <tex>x*A - [x*A]</tex>. De exemplu, daca alegem <tex>M=1234</tex> si <tex>A=0.3</tex>, iar <tex>x=1997</tex>, atunci avem <tex>h(x) = [1234*\{599.1\}] = [1234*0.1] = 123</tex>. Se observa ca functia <tex>h</tex> produce numere intre <tex>0</tex> si <tex>M-1</tex>. Intr-adevar <tex>0 \le \{x*A\} < 1 \Rightarrow 0 \le M*\{x*A\} < M</tex>.
Pentru aceasta metoda functia hash este <tex>h(x) = [M*\{x*A\}]</tex>. Aici <tex>A</tex> este un numar pozitiv subunitar, <tex>0 < A < 1</tex>, iar prin <tex>\{x*A\}</tex> se intelege partea fractionara a lui <tex>x*A</tex>, adica <tex>x*A - [x*A]</tex>. De exemplu, daca alegem <tex>M=1234</tex> si <tex>A=0.3</tex>, iar <tex>x=1997</tex>, atunci avem <tex>h(x) = [1234*\{599.1\}] = [1234*0.1] = 123</tex>. Se observa ca functia <tex>h</tex> produce numere intre <tex>0</tex> si <tex>M-1</tex>. Intr-adevar <tex>0 \le \{x*A\} < 1 \Rightarrow 0 \le M*\{x*A\} < M</tex>.
In acest caz, valoarea lui <tex>M</tex> 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>.

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.