hash-tabeller datastruktur notater
Notater om hash-tabeller, en viktig datastruktur innen datavitenskap, med fokus på prinsipper, operasjoner og anvendelser. Dette settet vil hjelpe studenter med å forstå og anvende hash-tabeller i programmering og algoritmeanalyse.
Quiz(32 spørsmål)
1. Hva beskriver best en hash-tabell?
Begreper i dette studiesettet(32)
Introduksjon til hash-tabeller(16)
Hva er en hash-tabell?
En hash-tabell er en datastruktur som bruker en hash-funksjon for å mappe nøkler til verdier. Den gir rask tilgang til data.
Hvorfor brukes hash-tabeller?
De gir O(1) gjennomsnittlig tidskompleksitet for søk, innsetting og sletting. Dette gjør dem effektive for store datamengder.
Sann eller usann: Hash-funksjoner er alltid entydige.
Usann. Hash-funksjoner kan føre til kollisjoner, hvor to nøkler gir samme hash-verdi.
Kollisjon → ?
Når to forskjellige nøkler gir samme hash-verdi. Krever håndtering for å opprettholde dataintegritet.
Hva er en hash-funksjon?
En algoritme som tar en nøkkel og returnerer en indeks i en hash-tabell. Det er viktig at den sprer verdiene jevnt.
Sammenlign: Array vs. hash-tabell.
Array: Fast størrelse, sekvensiell tilgang. Hash-tabell: Dynamisk størrelse, tilfeldig tilgang via nøkler.
Fyll inn: Hash-tabeller lagrer data som ...
... nøkkel-verdi-par. Nøkkelen brukes til å hente verdien.
Effekten av en dårlig hash-funksjon?
Kan føre til mange kollisjoner, reduserer ytelsen til O(n) i verste fall. Dårlig for datatilgang.
Hva er belastningsfaktor?
Forholdet mellom antall elementer i tabellen og størrelsen på tabellen. Høy belastningsfaktor kan føre til flere kollisjoner.
Sann eller usann: Hash-tabeller er alltid den beste løsningen.
Usann. De er effektive, men ikke alltid best ved små datamengder eller hvis rekkefølge er viktig.
Hva er chaining?
En metode for kollisjonshåndtering hvor hver tabellindeks peker på en liste med elementer som kolliderer.
Eksempel på hash-funksjon:
En enkel hash-funksjon kan være: , hvor 'size' er tabellens størrelse.
Hva er åpen adressering?
En kollisjonshåndteringsmetode hvor man leter etter neste ledige plass i tabellen.
Hvorfor er hash-tabeller nyttige i databaser?
De gir rask tilgang til data, noe som er viktig for søk og oppdateringer i store datamengder.
Effekten av å øke tabellstørrelsen?
Reduserer belastningsfaktoren og minimerer antall kollisjoner, noe som forbedrer ytelsen.
Hva er hovedkonseptet bak hash-tabeller?
Hash-tabeller bruker en hash-funksjon for å konvertere nøkkelverdier til indekser, noe som muliggjør rask tilgang til data. - Rask søk - Effektiv lagring - Håndtering av kollisjoner.
Operasjoner på hash-tabeller(16)
Hva er innsetting i hash-tabeller?
Prosessen med å legge til en verdi i tabellen. Krever beregning av hash-verdi.
Slik søker du i en hash-tabell?
Beregne hash-verdi for nøkkelen og se i den tilhørende indeksen.
True or False: Hash-kollisjoner kan unngås helt.
False. Hash-kollisjoner kan oppstå når to nøkler gir samme hash-verdi.
Forklar sletting i en hash-tabell.
Fjerne en verdi basert på nøkkel. Kan kreve håndtering av kollisjoner.
Hva er en hash-funksjon?
En funksjon som mappe nøkler til indekser. Skal være rask og redusere kollisjoner.
Fyll inn det tomme feltet: Hash-tabeller bruker ofte ____ for å håndtere kollisjoner.
kjedet adressering eller åpen adressering.
Sammenlign søking i hash-tabell og binær søk.
Hash-tabell: O(1) gjennomsnittlig tid. Binær søk: O(log n), men krever sorterte data.
Hvilken effekt har kollisjoner på ytelsen?
Reduserer effektiviteten av innsetting og søk, kan føre til O(n) i verste fall.
Eksempel på innsetting.
Innsett nøkkel 'A' med verdi 1. Hash-funksjon gir indeks 5. Lagre 1 på indeks 5.
Hva skjer ved sletting av en verdi?
Verdien fjernes. Indeks kan bli tom eller markeres som ledig avhengig av metode.
True or False: Hash-tabeller er alltid den beste datastrukturen.
False. Valg av datastruktur avhenger av brukstilfellet og behov for sortering.
Hva er åpen adressering?
En metode for håndtering av kollisjoner. Søker neste ledige plass innen tabellen.
Beskriv lastfaktor i hash-tabeller.
Forholdet mellom antall elementer og tabellens størrelse. Høy lastfaktor kan føre til flere kollisjoner.
Når bør du rehashing?
Når lastfaktoren overskrider en viss grense, vanligvis 0.7 eller 0.75.
Forklar hvorfor hash-tabeller er effektive.
Rask tilgang til data via hash-verdi. Gjennomsnittlig tid for innsetting og søk er O(1).
Hva er kjedet adressering?
En metode for å håndtere kollisjoner ved å lagre flere verdier i en liste ved samme indeks.
Spørsmål i dette studiesettet(32)
1. Hva beskriver best en hash-tabell?
2. Hva er den primære hensikten med en hash-funksjon?
3. Hva er den gjennomsnittlige tidskompleksiteten for søk i en hash-tabell?
4. Når oppstår en hash-kollisjon?
5. Sann eller usann: Hash-funksjoner kan føre til kollisjoner.
6. Hva skjer med ytelsen dersom lastfaktoren i en hash-tabell øker?
7. Hva skjer under en kollisjon i en hash-tabell?
8. Hvilken av følgende metoder brukes for å håndtere kollisjoner?
9. Hva er en nøkkel i en hash-tabell?
10. Hva er O(1) i sammenheng med hash-tabeller?
11. Hva er belastningsfaktoren i en hash-tabell?
12. Hvilket alternativ beskriver åpen adressering?
13. Hva er chaining i konteksten av hash-tabeller?
14. Når bør du vurdere å rehashing en hash-tabell?
15. Hva beskriver åpen adressering?
16. Hvilken av følgende er IKKE en fordel med hash-tabeller?
17. Hva er en dårlig hash-funksjon sannsynligvis å forårsake?
18. Hva er den typiske tidskompleksiteten for søk i en hash-tabell?
19. Når er hash-tabeller ikke den beste løsningen?
20. Hvordan kan du håndtere kollisjoner ved hjelp av kjedet adressering?
21. Hva er en hash-funksjon?
22. Hva menes med en høy lastfaktor?
23. Hvordan påvirker økning av tabellstørrelsen ytelsen?
24. Hva skjer når du prøver å sette inn en eksisterende nøkkel i en hash-tabell?
25. Hvilken av følgende er ikke en fordel med hash-tabeller?
26. Hva er den beste strategien for å unngå kollisjoner?
27. Hvilket av følgende beskriver best et nøkkel-verdi-par?
28. Hvorfor er hash-tabeller ikke alltid den beste datastrukturen?
29. Hva er hovedprinsippet bak hash-tabeller?
30. Hvordan beregner man en hash-verdi?
31. Hvilket av følgende scenarier er et eksempel på når man bør bruke en hash-tabell?
32. Hva skjer ved innsetting av en verdi i en hash-tabell som allerede har en kollisjon?
Relaterte studiesett
Informatyka studia – Algorytmy i struktury danych
Dynamische Programmierung Prüfungsfragen
Klausur: O-Notation Landau-Symbole
Mergesort und Quicksort Laufzeit Definitionen
Halteproblem Entscheidbarkeit Klausurvorbereitung
Abitur: Komplexität grob
Sortieren einfach erklärt Karteikarten
Pumping-Lemma reguläre Sprachen Prüfungsfragen
Lag ditt eget studiesett
Last opp en PDF, lim inn notatene dine, eller beskriv et tema – AI genererer flashkort, quizer og mer på sekunder.

