Hashing Kollisionsauflösung Prüfungsfragen

Eine Sammlung von Prüfungsfragen zur Hashing-Kollisionsauflösung, die Studierenden hilft, ihr Wissen über Algorithmen zu vertiefen und sich auf Prüfungen vorzubereiten.

SunnyDinosaur771·40 flashcards·40 questions
Studiumcomputer_sciencealgorithms
0
Known
1 / 40
0
Learning
Front

Was ist eine Kollision im Hashing?

Tap to flip
Back

Eine Kollision tritt auf, wenn zwei unterschiedliche Eingabewerte denselben Hashwert generieren.

Tap to flip
Got it
Still learning

Quiz(40 questions)

Question 1 of 40

1. Was beschreibt die Technik des linearen Sondierens?

Terms in this Study Set(40)

Grundlagen der Hashing-Kollisionsauflösung(16)

Was ist eine Kollision im Hashing?

Eine Kollision tritt auf, wenn zwei unterschiedliche Eingabewerte denselben Hashwert generieren.

Nenne eine Methode zur Kollisionsauflösung.

Offene Adressierung ist eine Methode, bei der alternative Speicheradressen gesucht werden.

Was bedeutet offene Adressierung?

Bei offener Adressierung wird die nächste verfügbare Adresse im Array verwendet, wenn eine Kollision auftritt.

Wie funktioniert das separate Chaining?

Jeder Index im Hash-Array verweist auf eine Liste, die alle Elemente mit demselben Hashwert speichert.

Wahr oder Falsch: Kollisionen sollten immer vermieden werden.

Falsch: Kollisionen können nicht vollständig vermieden werden, sie müssen behandelt werden.

Vergleiche offene Adressierung und separates Chaining.

Offene Adressierung: Speichert alle Elemente im Array. Separates Chaining: Verwaltet Kollisionen mit verlinkten Listen.

Fülle die Lücke: Bei ___ wird eine Liste verwendet, um Kollisionen zu speichern.

separates Chaining

Wie wird der Hashwert eines Schlüssels berechnet?

Durch eine Hashfunktion, die einen Schlüssel in einen Index des Hash-Arrays abbildet.

Was sind die Hauptziele der Hashing-Kollisionsauflösung?

Effizienz, Minimierung der Suche und Sicherstellung der Datenintegrität.

Nenne ein Beispiel für eine Hashfunktion.

Eine einfache Hashfunktion könnte h(k)=k mod n\displaystyle h(k) = k \bmod n sein, wobei n\displaystyle n die Array-Größe ist.

Was passiert bei einer vollen Hash-Tabelle?

Neue Elemente können nicht mehr hinzugefügt werden, dies erfordert eine Vergrößerung der Tabelle.

Wahr oder Falsch: Hashing ist immer eindeutig.

Falsch: Hashing produziert oft Kollisionen aufgrund der endlichen Anzahl von Hashwerten.

Was ist die Lastfaktor in Hash-Tabellen?

Das Verhältnis von der Anzahl der gespeicherten Elemente zur Größe der Hash-Tabelle.

Fülle die Lücke: Ein guter Hashing-Algorithmus sollte ___ sein.

gleichmäßig verteilt

Wie kann man die Effizienz von Hashing verbessern?

Durch gute Hashfunktionen und das Anpassen der Lastfaktoren.

Was sind die Auswirkungen von Kollisionen auf die Leistung?

Kollisionen erhöhen die Suche und Einfügezeiten, da zusätzliche Schritte erforderlich sind.

Techniken der Kollisionsauflösung(12)

Was ist lineares Sondieren?

Eine Technik zur Kollisionsauflösung, bei der bei einer Kollision die nächstgelegene freie Position in der Tabelle gesucht wird.

Fill in the blank: Quadratische Sondierung nutzt ... für die Positionssuche.

quadratische Funktionen zur Bestimmung der nächsten Position.

Vergleiche lineares und quadratisches Sondieren.

Lineares Sondieren sucht nacheinander; quadratisches nutzt i2\displaystyle i^2-Distanz. Quadratisches Sondieren reduziert Clusterbildung.

Welche Technik nutzt eine separate Liste für Kollisionen?

Separate Verkettung. Kollisionen werden in einer Liste gespeichert, die mit der Hash-Tabelle verbunden ist.

True or False: Separate Verkettung verhindert Clusterbildung.

True. Sie speichert Kollisionen in Listen, was Clusterbildung minimiert.

Was ist die Hauptidee der Doppel-Hashing-Technik?

Eine zweite Hash-Funktion bestimmt die Sprünge zur Positionssuche bei Kollisionen.

Erläutere das Problem der Clusterbildung.

Clusterbildung führt zu ineffizienten Suchen, da viele aufeinanderfolgende Positionen belegt sind. Dies kann durch separate Verkettung reduziert werden.

Nenne eine Einschränkung des linearen Sondierens.

Es kann zu Clusterbildung führen, die die Leistung bei Einfügungen und Suchen verringert.

Was ist die Rolle einer Hash-Funktion?

Sie wandelt den Schlüssel in einen Index um, der für die Speicherung in der Hash-Tabelle verwendet wird.

Beispiel für Quadratische Sondierung.

Wenn h(k)=3\displaystyle h(k) = 3 und h′(k)=2\displaystyle h'(k) = 2, dann überprüfe 3\displaystyle 3, 4\displaystyle 4, 7\displaystyle 7, 12\displaystyle 12 für Kollisionen.

Was ist eine ideale Hash-Funktion?

Eine Funktion, die gleichmäßige Verteilung der Indizes und minimale Kollisionen gewährleistet.

Nenne einen Vorteil der Doppel-Hashing-Technik.

Es vermindert die Clusterbildung und sorgt für größere Flexibilität bei der Suche nach freien Positionen.

Anwendungen und Beispiele(12)

Wie wird Hashing in Datenbanken verwendet?

Hashing ermöglicht schnellen Zugriff auf Datensätze, indem Schlüssel in Hash-Tabellen abgebildet werden.

Was ist eine typische Anwendung von Hash-Tabellen?

Wörterbuchimplementierungen, um Schlüssel-Wert-Paare effizient zu speichern.

Wahr oder Falsch: Hashing garantiert keine Kollisionen.

Wahr. Hashing kann jedoch durch geeignete Methoden der Kollisionsauflösung behandelt werden.

Nenne zwei Techniken zur Kollisionsauflösung.

- Separate Chaining - Open Addressing

Was ist der Unterschied zwischen Linear Probing und Quadratic Probing?

Linear Probing verwendet gleichmäßige Abstände, während Quadratic Probing quadratische Abstände nutzt.

Vervollständige: Hash-Tabellen sind besonders nützlich bei _____ .

schnellen Suchoperationen, z.B. zur Speicherung von Benutzerdaten.

Wie können Hash-Tabellen in Webanwendungen verwendet werden?

Zur Implementierung von Sitzungsmanagement oder zur Speicherung von Benutzer-Session-Daten.

Was passiert bei einer Kollision?

Zwei Schlüssel haben den gleichen Hash-Wert, wodurch eine Lösung erforderlich ist.

Warum ist die Wahl einer guten Hash-Funktion entscheidend?

Eine gut gestaltete Hash-Funktion minimiert Kollisionen und verteilt die Werte gleichmäßig.

Gib ein Beispiel für eine Hash-Funktion.

Eine einfache Hash-Funktion könnte h(k)=k mod m\displaystyle h(k) = k \bmod m sein, wobei m\displaystyle m die Größe der Tabelle ist.

Nenne einen Nachteil von Hash-Tabellen.

Speicherplatzverbrauch kann hoch sein, insbesondere bei sparsamen Daten.

Was sind die Anwendungen von Hashing in der Krypto-Analyse?

Hashing wird zur Integritätssicherung von Daten und zur Erstellung digitaler Signaturen verwendet.

Questions in this Study Set(40)

1. Was beschreibt die Technik des linearen Sondierens?

A.Die Suche nach der nächstgelegenen freien Position der Hash-Tabelle.
B.Das Speichern von Kollisionen in einer separaten Liste.
C.Die Nutzung einer zweiten Hash-Funktion für die Positionsbestimmung.
D.Die Anwendung einer quadratischen Funktion zur Positionssuche.

2. Was ist ein Hashwert?

A.Ein numerischer Wert, der aus einem Eingabewert generiert wird.
B.Eine Art von Datenbankabfrage.
C.Ein visueller Indikator für Datenintegrität.
D.Ein Maß für die Laufzeit von Algorithmen.

3. Wie werden Hash-Tabellen in der Softwareentwicklung häufig verwendet?

A.Um Schlüssel-Wert-Paare effizient zu speichern
B.Um Netzwerkpakete zu komprimieren
C.Um statische Webseiten zu hosten
D.Um Datenbanken zu verschlüsseln

4. Fill in the blank: Bei der quadratischen Sondierung wird ... verwendet.

A.eine konstante Verschiebung für die Positionssuche.
B.eine lineare Funktion für die Positionssuche.
C.eine quadratische Funktion für die Positionssuche.
D.eine zufällige Methode zur Positionsbestimmung.

5. Was geschieht bei einer Kollision in einer Hash-Tabelle?

A.Zwei unterschiedliche Schlüssel führen zum gleichen Hashwert.
B.Der Hashwert wird automatisch geändert.
C.Die Tabelle wird gelöscht.
D.Der Algorithmus schlägt fehl.

6. Was beschreibt das Konzept der 'Separate Chaining' bei der Kollisionsauflösung?

A.Jeder Hash-Wert zeigt auf eine Liste von Einträgen
B.Ein neuer Hash-Wert wird generiert
C.Einträge werden in der Tabelle verschoben
D.Alle Werte werden in einer einzigen Liste gespeichert

7. Welches Verfahren reduziert die Clusterbildung am effektivsten?

A.Lineares Sondieren
B.Quadratische Sondierung
C.Doppel-Hashing
D.Separate Verkettung

8. Welche der folgenden Methoden ist keine Technik zur Kollisionsauflösung?

A.Separates Chaining
B.Offene Adressierung
C.Dynamische Verdopplung
D.Bucket Hashing

9. Welche Aussage über Hash-Funktionen ist korrekt?

A.Sie sollten Kollisionen maximieren
B.Sie sollten gleichmäßige Verteilung der Werte erzeugen
C.Sie sind immer reversibel
D.Sie dürfen keine Eingaben akzeptieren

10. Was ist der Hauptnachteil des linearen Sondierens?

A.Es führt zu einer ineffizienten Speicherverwendung.
B.Es benötigt mehr Speicher als andere Verfahren.
C.Es kann zu Clusterbildung führen.
D.Es ist langsamer als separate Verkettung.

11. Was passiert, wenn eine Hash-Tabelle zu voll ist?

A.Die Performance verbessert sich.
B.Keine neuen Elemente können hinzugefügt werden.
C.Die Hashfunktion wird geändert.
D.Die Tabelle wird automatisch verkleinert.

12. Was passiert, wenn eine Kollision in einer Hash-Tabelle auftritt?

A.Die Tabelle wird gelöscht
B.Der Eintrag wird ignoriert
C.Eine Kollisionsauflösungsmethode wird angewendet
D.Der Hash-Wert ändert sich

13. Welche Technik wird bei der Doppel-Hashing verwendet?

A.Eine einzige Hash-Funktion.
B.Eine zufällige Auswahl von Positionen.
C.Zwei Hash-Funktionen zur Positionsbestimmung.
D.Kein zusätzliches Sondieren.

14. Worin liegt der Hauptunterschied zwischen offener Adressierung und separatem Chaining?

A.Offene Adressierung speichert alle Elemente im Array, während separates Chaining Listen verwendet.
B.Beide Methoden sind identisch.
C.Separates Chaining ist schneller als offene Adressierung.
D.Offene Adressierung verwendet Listen zur Speicherung.

15. Was ist eine typische Herausforderung bei der Verwendung von Hash-Tabellen?

A.Sie benötigen viel Rechenleistung
B.Sie können nur ganze Zahlen speichern
C.Speicherplatzverbrauch kann hoch sein
D.Sie sind nicht skalierbar

16. Was beschreibt das Problem der Clusterbildung?

A.Die gleichmäßige Verteilung der Indizes.
B.Die Ansammlung belegter Positionen in der Hash-Tabelle.
C.Die Verwendung von Listen zur Speicherung von Kollisionen.
D.Die Notwendigkeit, mehr Speicher zu reservieren.

17. Was ist der Lastfaktor einer Hash-Tabelle?

A.Das Verhältnis von gespeicherten Elementen zur Größe der Tabelle.
B.Die Anzahl der Kollisionen in der Tabelle.
C.Die Größe des verwendeten Hashwerts.
D.Die Geschwindigkeit der Datenzugriffe.

18. Welches Verfahren wird NICHT zur Kollisionsauflösung verwendet?

A.Separate Chaining
B.Quadratic Probing
C.Linear Probing
D.Bubble Sort

19. Welche Aussage beschreibt die separate Verkettung nicht?

A.Sie speichert Kollisionen in Listen.
B.Sie verhindert Clusterbildung.
C.Sie erfordert mehr Speicherplatz.
D.Sie verwendet eine quadratische Sondierung.

20. Wahr oder Falsch: Eine gute Hashfunktion sollte Kollisionen immer vermeiden.

A.Wahr
B.Falsch
C.Teilweise wahr
D.Unbekannt

21. Wie kann Hashing in Webanwendungen nützlich sein?

A.Zur sicheren Übertragung von Daten
B.Zur Implementierung von Sitzungsmanagement
C.Zur Optimierung von Bildgrößen
D.Zur Erstellung von HTML-Dokumenten

22. Was ist die Rolle einer Hash-Funktion in Bezug auf Kollisionen?

A.Sie geht Kollisionen direkt an.
B.Sie wandelt den Schlüssel in einen Index um.
C.Sie verwendet eine separate Liste zur Speicherung.
D.Sie reduziert die Anzahl der Kollisionen.

23. Wie wird eine Kollision bei separatem Chaining behandelt?

A.Indem die Kollision ignoriert wird.
B.Indem eine Liste erstellt wird, die die Kollisionen speichert.
C.Durch Erhöhung der Hash-Wert-Größe.
D.Durch Neuberechnung des Hashwerts.

24. Wie lautet eine einfache Hash-Funktion für ganzzahlige Schlüssel?

A.h(k) = k % m
B.h(k) = m * k
C.h(k) = k + m
D.h(k) = k / m

25. Wie sieht ein Beispiel für quadratische Sondierung aus?

A.Wenn h(k)=3\displaystyle h(k) = 3 und h′(k)=1\displaystyle h'(k) = 1, dann überprüfe 3\displaystyle 3, 4\displaystyle 4, 5\displaystyle 5.
B.Wenn h(k)=2\displaystyle h(k) = 2 und h′(k)=1\displaystyle h'(k) = 1, dann überprüfe 2\displaystyle 2, 3\displaystyle 3, 4\displaystyle 4.
C.Wenn h(k)=3\displaystyle h(k) = 3 und h′(k)=2\displaystyle h'(k) = 2, dann überprüfe 3\displaystyle 3, 4\displaystyle 4, 7\displaystyle 7, 12\displaystyle 12.
D.Wenn h(k)=5\displaystyle h(k) = 5 und h′(k)=3\displaystyle h'(k) = 3, dann überprüfe 5\displaystyle 5, 8\displaystyle 8, 11\displaystyle 11.

26. Was ist eine geeignete Hashfunktion für integer Werte?

A.h(k) = k mod n
B.h(k) = n - k
C.h(k) = k + n
D.h(k) = k^2

27. Was ist der Hauptvorteil von Open Addressing?

A.Es verwendet weniger Speicher als Separate Chaining
B.Es ist schneller bei der Datenspeicherung
C.Es erfordert keine zusätzlichen Datenstrukturen
D.Es kann beliebig viele Kollisionen behandeln

28. Was gilt als eine ideale Hash-Funktion?

A.Eine Funktion, die viele Kollisionen verursacht.
B.Eine Funktion, die die Indizes gleichmäßig verteilt.
C.Eine Funktion, die keine separaten Listen verwendet.
D.Eine Funktion, die nur lineares Sondieren unterstützt.

29. Was ist der Hauptvorteil der offenen Adressierung?

A.Es benötigt weniger Speicherplatz.
B.Es ist immer schneller als separates Chaining.
C.Es benötigt keine zusätzlichen Datenstrukturen.
D.Es verhindert Kollisionen.

30. Was beschreibt Linear Probing in Hash-Tabellen?

A.Suche nach einem freien Platz in benachbarten Indizes
B.Suche durch Verdopplung der Hash-Berechnung
C.Suche durch einen anderen Hash-Algorithmus
D.Suche durch Rückverfolgung des letzten Eintrags

31. Welcher Vorteil ergibt sich aus der Verwendung von Doppel-Hashing?

A.Es reduziert die Anzahl der Kollisionen.
B.Es gewährleistet eine konstante Zugriffszeit.
C.Es vermindert die Clusterbildung.
D.Es ist einfacher umzusetzen als lineares Sondieren.

32. Welches Szenario erfordert die Verwendung einer Hash-Tabelle?

A.Wenn schnelle Suchvorgänge erforderlich sind.
B.Wenn Daten nur einmal gelesen werden.
C.Wenn die Reihenfolge der Elemente wichtig ist.
D.Wenn Daten in einer Datenbank gespeichert werden.

33. Wofür wird Hashing in der Krypto-Analyse verwendet?

A.Zur Schaffung von Datenbanken
B.Zur Integritätssicherung von Daten
C.Zur Erstellung von Webseiten
D.Zur Durchführung von Berechnungen

34. Welche Technik nutzt eine zusätzliche Hash-Funktion zur Bestimmung der nächsten Position bei Kollisionen?

A.Doppel-Hashing
B.Lineares Sondieren
C.Quadratische Sondierung
D.Separate Verkettung

35. Wie kann man die Effizienz einer Hash-Tabelle verbessern?

A.Durch Erhöhung der Anzahl der Kollisionen.
B.Durch Verwendung einer schlechten Hashfunktion.
C.Durch Anpassung des Lastfaktors und Auswahl geeigneter Hashfunktionen.
D.Durch Verkleinerung der Hash-Tabelle.

36. Welches Szenario erfordert eine gute Hash-Funktion?

A.Wenn viele Kollisionen vermieden werden sollen
B.Wenn die Geschwindigkeit keine Rolle spielt
C.Wenn nur wenige Daten gespeichert werden
D.Wenn die Daten statisch sind

37. Wahr oder Falsch: Kollisionen haben keinen Einfluss auf die Leistung der Hash-Tabelle.

A.Wahr
B.Falsch
C.Teilweise wahr
D.Unbekannt

38. Welches ist ein Nachteil von separatem Chaining?

A.Es kann mehr Speicherplatz benötigen.
B.Es ist schneller als offene Adressierung.
C.Es funktioniert nicht mit integer Werten.
D.Es ist sehr einfach zu implementieren.

39. Was ist ein ideales Ziel für eine Hashfunktion?

A.Eine gleichmäßige Verteilung der Hashwerte.
B.Die Erzeugung von maximalen Kollisionen.
C.Die Minimierung des Speicherplatzes.
D.Die Erzeugung von langen Hashwerten.

40. Welche der folgenden Aussagen beschreibt am besten das Konzept der separaten Verkettung?

A.Jeder Index des Hash-Arrays verweist auf eine verkettete Liste von Elementen mit demselben Hashwert.
B.Die Elemente werden direkt im Array gespeichert, ohne zusätzliche Strukturen.
C.Die nächste verfügbare Adresse im Array wird bei Kollisionen genutzt.
D.Eine Hash-Tabelle wird durch Verdopplung der Größe bei jeder Kollision erweitert.

Related Study Sets

Create Your Own Study Set

Upload a PDF, paste your notes, or describe a topic – AI generates flashcards, quizzes and more in seconds.