Hvad er en Hashmap?

Inden for datalogi er en hashmap- eller hash-tabel en form for strukturering af data, så hvert stykke data er knyttet til et unikt identifikationsnummer eller symbol. Dette tillader let hentning, især fra en stor database, der indeholder tusindvis af poster. Hashmap er ikke en specifik del af programmet, men henviser snarere til en form for dataorganisation, der tildeler hvert element, kendt som en nøgle, i databasen til en værdi, der står for det pågældende element. Hash-funktionen er den del af programmet, der knytter nøgler til deres værdier.

Telefonbøger fungerer som et glimrende eksempel på en hashmap. Den måde, telefonbogen er lagt på, repræsenterer hashmap-strukturen. Det fokuserer på at knytte forskellige værdier sammen og kun knytte en værdi til en anden tilsvarende betegnelse eller telefonnummer. Navnene i telefonbogen er tasterne, og telefonnumrene er de værdier, der er knyttet til dem. Hver person i bogen tildeles et andet nummer, og ingen to er ens.

Postkontorbokse fungerer også som en metafor for hashmap. Hver person har en nøgle til en enkelt boks. Boksen kan indeholde flere oplysninger - regninger, breve, postkort - alt sammen beregnet til den person, der har nøglen til kassen. Når den rigtige nøgle indsættes i eller matches til den rigtige boks, åbnes den for at afsløre dens indhold.

Perfekt fungerende hashmaps vil forbinde en nøgle til en "hukommelse" i en computerdatabase. Desværre kan en faktor kendt som hash-kollision opstå, hvor to taster går til den samme boks. Dette sker, når der indtastes en stor mængde data, og der ikke er nok "bokse" til at rumme det hele.

I modsætning til en telefonbog eller et postkontor, inkluderer hashmaps et tredje element ud over nøglen og den værdi eller det felt, det matcher. Det inkluderer også en hash-funktion. En person ved, hvilken postkasse der er hendes, men en computer skal fortælle, hvilken nøgle der går til hvilken kasse. Hashfunktionen ser på nøglen, oversætter den til en række numre eller kode og knytter den til det felt, der indeholder den tilsvarende kode. Navnet på nøglen, såsom "Mary", er kun der, så det er lettere for folk at fortolke, mens den faktiske kode er en række numre, der er beregnet til computeren at læse.

ANDRE SPROG

Hjalp denne artikel dig? tak for tilbagemeldingen tak for tilbagemeldingen

Hvordan kan vi hjælpe? Hvordan kan vi hjælpe?