Preskoči na glavno vsebino
 
To je arhiv spletne učilnice za leto 2021/22. Aktualna spletna učilnica je na naslovu https://ucilnica.fmf.uni-lj.si
Učilnica 21/22
  • Slovenščina ‎(sl)‎
    English ‎(en)‎ Slovenščina ‎(sl)‎
Trenutno uporabljate gostujoči dostop (Prijavite se)

Računalništvo 2

  1. Domov
  2. Predmeti
  3. Praktična matematika
  4. 3. letnik
  5. RAČ2
  6. Vaje 21_22
  7. Vaje 21.4.2022 Zgoščevalne funkcije

Vaje 21.4.2022 Zgoščevalne funkcije

Zahteve zaključka
Odprto: sreda, 20 april 2022, 00:00 AM
Rok za oddajo: sreda, 27 april 2022, 00:00 AM

1) V zgoščevalno tabelo velikosti 11 (n = 11) vstavimo ključe iz seznama [23, 1, 13, 11, 24, 33, 18, 42, 31] z zgoščevalno funkcijo h(x) = x mod n

Kakšna izgleda tabela glede na različne pristope reševanja trkov. Uporabi veriženje ter linearno in kvadratično iskanje(probing). Do kakšnih problemov lahko pridemo pri teh pristopih? Kaj bi bilo, če bi uporabili kakšno drugo zgoščevalno funkcijo oblike h(x) = ax mod n za nek a različen od 0 in manjši od n? Bi lahko za poljuben a našel zaporedje ključev, ki bi ustvaril veliko trkov? Naštej še kakšne standardne zgoščevalne funkcije.

2) Univerzalno zgoščevanje

U (univerzalna)  in V naj bosta množici, kjer je velikost U ogromno večja kot velikost V. Družini preslikav H iz U v V rečemo univerzalna, če za vsak x != y iz U velja Pr[h(x) = h(y)] <= 1/n, kjer preslikavo h vzamemo naključno iz družine H ter n = IVI.

2.1) Pokaži, da je H = {ax mod n : a iz Z_n} univerzalna družina.

2.2) Naj bo h zgoščevalna funkcija iz univerzalne družine (izbrana naključno). Recimo, da želimo v tabelo shranit m ključev. Definiramo "load factor" alpha = m/n. Koliko je povprečno število trkov? Kaj lahko poveš o dolžini najdaljše verige? Namig: Indikatorji, linearnost pričakovane vrednosti

Od tu naprej nalog ni potrebno vključevati v poročilo! -------------------------------

2.3) Razvij zgoščevalno tabelo/funkcijo, kjer bodo vse poizvedbe konstantne. Konstrukcija mora biti narejena v linearnem času. Namig: Kaj se zgodi, če vzamemo alpha = 1/n + točka 2.2)


3) Kako bi zgoščevanje posplošili na druge tipe podatkov:

  • vektorji v R^k
  • nizi
  • sestavljeni objekti

4) V točki 3) smo za nize omenili "rolling hash" funkcijo. Recimo, da imamo niz s[1...n] dolžine n. Razvij algoritem, ki hitro odgovarja na poizvedbe oblike "kakšna je hash vrednost pod niza s[i...j]" za neka 0 < i < j < n

5) Imamo niz s[1...n] dolžine n in množico nizov P = {p_1, ..., p_k} in recimo, da so vsi p_i dolžine m. Razvij algoritem, ki odgovori koliko nizov iz P se kot podniz pojavi v s. Za vsak p iz P povej kolikokrat se pojavi v s.

◄ Vaje 14.4.2022 Minimalna vpeta drevesa 2
Zaključna oddaja poročil ►
Preskoči Navigacija
Navigacija
  • Domov

    • Strani spletnega mesta

      • Moji predmeti

      • Oznake

    • Moji predmeti

    • Predmeti

      • Praktična matematika

        • 1. letnik

        • 2. letnik

        • 3. letnik

          • MM (PRA)

          • MEH

          • NUM2 (PRA)

          • PDE (PRA)

          • PB1

          • PU

          • PROG3

          • RAČ1

          • RAČ2

            • Splošno

            • Vaje 21_22

              • NalogaVaje 17. 2 (Dinamično programiranje uvod)

              • NalogaVaje 24.2.2022 Dinamično programiranje 2

              • NalogaVaje 3. 3. (Dinamično programiranje 3)

              • NalogaVaje1 0.3.2022 podzaporedja

              • NalogaVaje 17.3.2022 Floyd Warshall

              • NalogaVaje 24.3.2022 Dijkstrov algoritem

              • NalogaVaje 31.3.2022 Bellman Ford, A*

              • NalogaTekmovanje 31.3.2022 Iskanje najkrajših poti

              • NalogaVaje 7.4.2022 Minimalna vpeta drevesa

              • NalogaVaje 14.4.2022 Minimalna vpeta drevesa 2

              • NalogaVaje 21.4.2022 Zgoščevalne funkcije

              • NalogaZaključna oddaja poročil

            • Seminarska naloga

            • O algoritmih in Strategije razvoja algoritmov

            • Dinamično programiranje - splošno

            • Dinamično programiranje - Matrično množenje

            • Dinamično programiranje - podzaporedja

            • Problem najkrajših poti

            • Dinamično programiranje - najkrajše poti

            • Problem najkrajših poti - Dijkstra

            • Najkrajše poti - Bellman Ford / A*

            • Minimalno vpeto drevo (MVD)

            • Zgoščena tabela / Zgoščevalna funkcija

            • Za konec ...

        • ŠTUD (PRA)

      • Matematika

      • Finančna matematika

      • Pedagoška matematika

      • IŠRM

      • Fizika

      • Aplikativna fizika

      • Fizikalna merilna tehnika

      • Zunanji predmeti

      • Razno

Trenutno uporabljate gostujoči dostop (Prijavite se)
RAČ2
  • Slovenščina ‎(sl)‎
    • English ‎(en)‎
    • Slovenščina ‎(sl)‎
Povzetek hrambe podatkov
Pridobi mobilno aplikacijo