[quote="jabuka"]da ne otvaram novu temu..
moze pomoc oko 3.zadatka 1.grupa?
http://web.math.pmf.unizg.hr/nastava/spa/kolokviji/2010/SPA%20-%202010%20-%20kolokvij2%20-%20zadaci.pdf[/quote]
Ako se ne varam...
Znaci imas polje od dva elementa, te svaki od njih je u stvari pointer na vezanu listu, posto je otvoreno hashiranje.
Sad zadatak je napravit hash funkciju takvu da iz skupa D={1,2,3,5,7,9,11} tocno tri zavrse u prvom pretincu...
Takvih hash funkcija ima kolko te volja...
evo jedan primjer:
int hash(int x)
{
if(x%2==0 || x%3==0) return 0;
else return 1;
}
ili neki jos blesaviji:
int hash(int x)
{
if(x<4) return 0;
else return 1;
}
Slicno skicirano imas u skripti samo nisu dva pretinca vec ih je vise, pa na isti nacin ti skiciras svoja dva te pobacas unutra rijecnik te 4 i 6...
I koliko ce biti potrebno citanja za 10? Pa onoliko koliko ima elemenata u drugom pretincu - posto elementa 10 nema mora pogledat svaki element da li je jednak 10 ili nije...
Nesto je od svega ovoga sigurno tocno, a cak postoji mogucnost da je i sve, ali dok netko ne potvrdi ili opovrgne, eto ti ideje.
:)
Ako se ne varam...
Znaci imas polje od dva elementa, te svaki od njih je u stvari pointer na vezanu listu, posto je otvoreno hashiranje.
Sad zadatak je napravit hash funkciju takvu da iz skupa D={1,2,3,5,7,9,11} tocno tri zavrse u prvom pretincu...
Takvih hash funkcija ima kolko te volja...
evo jedan primjer:
int hash(int x)
{
if(x%2==0 || x%3==0) return 0;
else return 1;
}
ili neki jos blesaviji:
int hash(int x)
{
if(x<4) return 0;
else return 1;
}
Slicno skicirano imas u skripti samo nisu dva pretinca vec ih je vise, pa na isti nacin ti skiciras svoja dva te pobacas unutra rijecnik te 4 i 6...
I koliko ce biti potrebno citanja za 10? Pa onoliko koliko ima elemenata u drugom pretincu - posto elementa 10 nema mora pogledat svaki element da li je jednak 10 ili nije...
Nesto je od svega ovoga sigurno tocno, a cak postoji mogucnost da je i sve, ali dok netko ne potvrdi ili opovrgne, eto ti ideje.
|