Vērtējums:
Publicēts: 10.01.2013.
Valoda: Latviešu
Līmenis: Augstskolas
Literatūras saraksts: 1 vienības
Atsauces: Nav
Laikposms: 2011. - 2015. g.
  • Paraugs 'Hash funkcijas', 1.
  • Paraugs 'Hash funkcijas', 2.
  • Paraugs 'Hash funkcijas', 3.
  • Paraugs 'Hash funkcijas', 4.
  • Paraugs 'Hash funkcijas', 5.
  • Paraugs 'Hash funkcijas', 6.
  • Paraugs 'Hash funkcijas', 7.
  • Paraugs 'Hash funkcijas', 8.
  • Paraugs 'Hash funkcijas', 9.
  • Paraugs 'Hash funkcijas', 10.
  • Paraugs 'Hash funkcijas', 11.
  • Paraugs 'Hash funkcijas', 12.
  • Paraugs 'Hash funkcijas', 13.
  • Paraugs 'Hash funkcijas', 14.
  • Paraugs 'Hash funkcijas', 15.
  • Paraugs 'Hash funkcijas', 16.
  • Paraugs 'Hash funkcijas', 17.
  • Paraugs 'Hash funkcijas', 18.
  • Paraugs 'Hash funkcijas', 19.
  • Paraugs 'Hash funkcijas', 20.
  • Paraugs 'Hash funkcijas', 21.
SatursAizvērt
Nr. Sadaļas nosaukums  Lpp.
  Uzdevums    4
1.  Atslēgas vārdi    5
2.  Hash funkcija    6
  Pirmā funkcija    6
  Otrā funkcija    8
  Hash funkcijas pārbaude, izmantojot citus atslēgvārdus    9
  Hash/Rehash datu kopām    11
  Secinājumi    13
  Izmantotie materiāli    14
Darba fragmentsAizvērt

Hash/Rehash datu kopām
Izstrādājot uzdevumu tiek izveidots rehešēšanas algoritms. Situācijā, kad veicot hash funkciju rodas kolīzija, tad vērtība tiek ievietota nākamajā brīvajā ailē tabulā. Ja tabula ir beigusies, tad turpinām veikt šo procesu no tabulas sākuma. Ja vēlreiz tiek sasniegtas tabulas beigas, tātad tabula ir pilna un nav, kur ievietot šo vērtību. Lai veiktu rehešēšanu tiek izpildīti šādi soļi:
1. Funkcija paņem vārdu kā ievadi;
2. Tā iziet cauri vārdam pa četriem baitiem un interpretē katru 4 baitu kopumu kā vienu long integer vērtību. Integer vērtības tiek saskaitītas.
3. Beigās summa ir pārvērsta robežās no 0 līdz m-1 izmantojot moduļa operatoru.
4. Pārbaudām šo adresi un salīdzinām adreses vērtību ar meklēto, ja vērtības sakrīt, tad esam atraduši adresi;
5. Ja vērtības nesakrīt pārbaudām visas nākamās adreses tabulā, kamēr atrodam meklēto vai kamēr sasniedzam tukšu aili, kas nozīmē, ka vērtība nav atrodama tabulā, vai kamēr sasniedzam tabulas beigas;
6. Ja sasniedzam tabulas beigas, tad atgriežamies uz tabulas 0-to adresi un turpinām darīt to, ko darījām 5. solī;
7. Ja vēlreiz tiek sasniegtas tabulas beigas, tātad tabula ir pilna un šajā tabulā nav meklētās vērtības.
Visbeidzot tiek izpildīts pats algoritms pilnībā, trīs programmēšanas valodām – Java, Python un ruby. Šo programmēšanas valodu tabulas tiek attēlotas zemāk, pēc algoritma izpildes.

Autora komentārsAtvērt
Atlants