Please enable JavaScript.
Coggle requires JavaScript to display documents.
Datové struktury - Coggle Diagram
Datové struktury
Hešování
Přiklady
S řetízky
Kolize
Vytvoří se spojový seznam a přidáme prvek na konec
Faktor naplnění
Očekávaná délka řetízků
cn/m (Pro c univerzalni system)
Definice
Hašovací funkce
Operace
INsert
Delete
Find
O(1)
Časová složitost
KOnstantní
Prostorová složistost
Lineární
Každému prvku universa přiřadí přihŕadku
Pro reprezentaci množiny
Přiklady
Lineární kongurence
ax mod m
Vyšší bity součinu
Použivámé SHIFT
Potřebujeme a liché
h(x) = Spodní část od ((ax mod 2^w)/2^(a-l)
Skalární součin
Polynom
Přihrádky
Přihrádky indexujeme od 0 do m-1
Universum
UNiversum je vetší než počet přihrádek
Dochází ke kolizím
Chceme uložit podmnožinu universa
Velikost (U)
Kolize
Faktor naplnění (Hustota)
C univerzální systém
System H je c univerzální pokud pro A a B e Y [h(A) == h(B}] <= c/m pro A != B
H je univerzální, pokud je c univerzální a c > 0
Střední hodnota kolizí je <= cn/m
Důkaz
Linearita střední hodnoty
K-Nezávislé systémy
Problém hašovacích funkcí
Pevná haš. funkce je snadno napadnutelná
Řešení
Budeme volit funkci náhodně
Efekktivnost
Systém je parametrizovaný a vybíráme pouze paramtery např. a
Musíme umět spočítat v konstantním čase
Musí se "chovat" jako zcela náhodná funkce
Operace budou m=it konstantí složitost pokud m = Omega(n)
Pokud neznáme velikost n dopředu, použijemen nafukovací pole
Amortizovaně opět dostaneme konstantní složitost
Konstrukce univerzálníc hsystémů
H {ht | t e Z^d m} je 1 univerzální, pro lib prvočíslo m a d >= 1
Dukaz
Bilinearita
Co když nechceme m jako prvočíslo
Tak pouzijemene jine prvocislo p
System L = {hab e Zp} je 2 univ pro lib prvo+c=islo p >= m
Dukaz
Cache