od Myshaak » 25. 8. 2011 14:58
('._.) píše:Ahoj,
mal by som otazku k univerzalnemu hashovaniu. To ako funguje a podmienky vyberu hashovacich funkcii chapem viz. napr
wiki.
Ale unika mi jedna vec, ak idem napriklad zahashovat prvok X, tak vyberiem nahodne nejaku hashovaciu funkciu a s nou ho zahashujem. Ako je potom mozne ten prvok najst, alebo zistit ci sa v tabulke nachadza? Musi sa prejst cela mnozina hashovacich funkcii? To znie ako hlupost.
Dik.
Ono to totiz funguje malinko jinak. (Teda pokud jsem to za ty dva mesice, co jsem z Matfyzu, uplne nezapomnel!
) Neni to tak, ze "mam prvek -> vyberu si nahodne funkci, s kterou ho zahesuju", ale "chci heshovat -> vyberu si nahodne funkci -> s touhle funkci pak uz hesuju vsechny prvky" - cili potom i pro nalezeni prvku pouziju tuhle predem vybranou (ale nahodne) funkci.
[quote="('._.)"]Ahoj,
mal by som otazku k univerzalnemu hashovaniu. To ako funguje a podmienky vyberu hashovacich funkcii chapem viz. napr [url=http://en.wikipedia.org/wiki/Universal_hashing]wiki[/url].
Ale unika mi jedna vec, ak idem napriklad zahashovat prvok X, tak vyberiem nahodne nejaku hashovaciu funkciu a s nou ho zahashujem. Ako je potom mozne ten prvok najst, alebo zistit ci sa v tabulke nachadza? Musi sa prejst cela mnozina hashovacich funkcii? To znie ako hlupost.
Dik.[/quote]
Ono to totiz funguje malinko jinak. (Teda pokud jsem to za ty dva mesice, co jsem z Matfyzu, uplne nezapomnel! :D) Neni to tak, ze "mam prvek -> vyberu si nahodne funkci, s kterou ho zahesuju", ale "chci heshovat -> vyberu si nahodne funkci -> s touhle funkci pak uz hesuju vsechny prvky" - cili potom i pro nalezeni prvku pouziju tuhle predem vybranou (ale nahodne) funkci.