Jaucējtabula
From Wikipedia, the free encyclopedia
From Wikipedia, the free encyclopedia
Datorzinātnē jaucējtabula jeb heštabula (angļu: hash table)[1] ir datu struktūra, kura izmanto jaucējfunkcijas, lai sasaistītu identificējošas vērtības, zināmas kā atslēgas (piemēram, personas vārds) ar tām piesaistītajām vērtībām (piemēram, telefona numuriem). Līdz ar to heštabula ir asociatīva masīva realizācija. Hešfunkcijas izmanto, lai pārveidotu atslēgu par indeksu masīva elementam, kurā tiek glabāta atbilstošā vērtība.
Ideālā gadījumā hešfunkcijai vajadzētu piesaistīt katru iespējamo atslēgu unikālam indeksam, bet praksē tas tiek sasniegts reti (ja vien atslēgas ir fiksētas, t.i. pēc tabulas izveides netiek pievienoti jauni ieraksti). Tā vietā vairums heštabulu realizāciju pieņem, ka atslēgu kolīzija — atšķirīgas atslēgas, kuras norāda uz to pašu indeksu - notiks un šī problēma kaut kādā veidā ir jāatrisina.
Labi veidotā heštabulā vidējās izmaksas (katrai vērtības atrašanai nepieciešamais instrukciju skaits) ir neatkarīgas no tabulā uzglabāto vērtību skaita. Daudzas heštabulu realizācijas pieļauj arī iespēju ievietot un dzēst esošus atslēgu un vērtību pārus ar konstantām vidējām (amortizētām[2]) izmaksām uz darbību.[3] [4]
Daudzās situācijās heštabulas izrādās efektīvākas kā meklēšanas koki vai jebkura cita meklēšanas tabulas struktūra. Šā iemesla dēļ tās tiek plaši izmantotas dažādās datorprogrammās, galvenokārt asociatīviem masīviem, datubāžu indeksiem, kešošanai un kopu datu struktūrām.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.