Hashing e tabelle hash domande
Domande frequenti sul hashing e le tabelle hash, adatte per studenti universitari che vogliono approfondire concetti chiave e applicazioni.
Quiz(48 Fragen)
1. Cosa si verifica quando due chiavi diverse producono lo stesso valore di hash?
Begriffe in diesem Lernset(48)
Fondamenti di Hashing(12)
Che cos'è una funzione di hashing?
Una funzione di hashing è un algoritmo che trasforma un input di qualsiasi dimensione in un output di lunghezza fissa, chiamato hash.
Vero o falso: le funzioni di hashing sono sempre uniche.
Falso. Le funzioni di hashing possono generare lo stesso hash per input diversi, noti come collisioni.
Qual è l'obiettivo principale del hashing?
L'obiettivo principale è garantire l'integrità e la rapida accessibilità dei dati.
Complete: una buona funzione di hashing deve essere ______.
Deterministica, veloce, resistente alle collisioni e distribuita uniformemente.
Differenza tra hashing e cifratura.
- Hashing: irreversibile, lunghezza fissa. - Cifratura: reversibile, varia in base ai dati.
Esempio di funzione di hashing semplice.
Una funzione di hashing semplice è la somma dei valori ASCII dei caratteri di una stringa, modulo la dimensione della tabella.
Quali sono gli usi comuni delle funzioni di hashing?
- Verifica dell'integrità dei dati. - Archiviazione di password. - Creazione di identificatori unici.
Che cos'è un valore hash?
Un valore hash è l'output prodotto da una funzione di hashing, rappresenta l'input in forma compressa.
Vero o falso: il hashing è sempre sicuro.
Falso. Alcune funzioni di hashing possono essere vulnerabili a attacchi come la pre-image attack.
Causa → effetto di un hash debole.
Causa: Funzione di hashing non sicura. Effetto: Maggiore probabilità di collisioni e attacchi.
Cos'è un messaggio digest?
Un messaggio digest è un valore hash che rappresenta un insieme di dati, utilizzato per garantire integrità.
Qual è la differenza tra hash e checksum?
- Hash: utilizzato per l'integrità. - Checksum: verifica degli errori di trasmissione.
Tabelle Hash(12)
Cosa sono le tabelle hash?
Strutture dati che mappano chiavi a valori. Permettono accesso rapido ai dati.
Vantaggi delle tabelle hash?
- Accesso in tempo costante - Buona gestione della memoria - Efficiente per ricerche
Come si crea una tabella hash?
Si definisce una funzione di hashing, si alloca un array e si inseriscono chiavi tramite la funzione.
Cosa è una funzione di hashing?
Funzione che trasforma una chiave in un indice nella tabella hash.
Vero o falso: Le tabelle hash sempre gestiscono collisioni.
Vero, le collisioni devono essere gestite con metodi come chaining o open addressing.
Esempio di inserimento in una tabella hash.
Chiave: 23 Funzione di hashing: Indice:
Cosa significa 'carico' in riferimento alle tabelle hash?
Rapporto tra elementi e dimensione della tabella. Un carico alto aumenta collisioni.
Cosa determina la dimensione di una tabella hash?
La dimensione deve essere un numero primo per ridurre le collisioni e migliorare la distribuzione.
Qual è il problema del clustering?
Fenomeno dove le collisioni si concentrano in aree vicine della tabella, peggiorando le prestazioni.
Cosa sono le collisioni?
Occorrono quando due chiavi diverse producono lo stesso indice in una tabella hash.
Confronta chaining e open addressing.
Chaining: usa liste collegate per gestire collisioni. Open addressing: cerca il prossimo slot libero.
Cosa è una tabella hash dinamica?
Tabella che può espandersi o contrarsi in base al numero di elementi, riducendo il carico.
Collisioni e Risoluzione(12)
Cosa sono le collisioni in hashing?
Le collisioni si verificano quando due chiavi diverse producono lo stesso valore di hash.
Vero o falso: le collisioni possono essere evitate completamente.
Falso. Non è possibile evitare completamente le collisioni a causa del principio del pigeonhole.
Qual è l'effetto di una collisione?
Le collisioni possono ridurre l'efficienza della ricerca e causare problemi di accesso ai dati.
Quali sono i metodi di risoluzione delle collisioni?
- Chaining - Open Addressing - Double Hashing - Linear Probing
Chaining vs Open Addressing: differenza principale?
Chaining usa liste collegate per gestire le collisioni, mentre Open Addressing cerca spazi liberi nella stessa tabella.
Cosa implica il Linear Probing?
Nel Linear Probing, si cerca la prossima posizione libera sequenzialmente nella tabella hash.
Cosa rappresenta la funzione di hash?
La funzione di hash mappa una chiave a un indice nella tabella hash, idealmente unico.
Quando è efficace il Double Hashing?
Il Double Hashing è efficace quando si desidera una distribuzione più uniforme delle chiavi e ridurre le collisioni.
Qual è un esempio di collisione?
Se la funzione di hash mappa 'ciao' e 'oic' a 5, c'è una collisione.
Qual è il problema principale delle collisioni?
Aumentano il tempo di accesso ai dati e complicano la gestione della tabella hash.
Cosa si deve considerare nella scelta della funzione di hash?
La funzione deve avere una buona distribuzione delle chiavi e una bassa probabilità di collisione.
Cosa è la risoluzione delle collisioni?
È il processo di gestire le collisioni per garantire l'integrità e l'accesso ai dati nella tabella hash.
Applicazioni del Hashing(12)
Applicazione del hashing in database?
Il hashing è utilizzato per velocizzare le ricerche nei database, riducendo il tempo di accesso ai dati.
Vero o falso: il hashing è usato solo per la sicurezza?
Falso. Il hashing è anche per indicizzazione, gestione della memoria e deduplicazione.
Come si usa il hashing nelle password?
Le password vengono hashate per memorizzare solo il valore hash, non la password in chiaro.
Cosa è una tabella hash?
Una struttura dati che utilizza funzioni di hashing per mappare chiavi a valori in modo efficiente.
Esempio di utilizzo del hashing in file?
Il hashing aiuta a verificare l'integrità dei file, ad esempio usando checksum.
Hashing e caching: perché sono correlati?
Il caching usa il hashing per memorizzare risultati di operazioni costose e velocizzare l'accesso.
Compara hashing e crittografia.
- Hashing: non reversibile - Crittografia: reversibile - Entrambi per la sicurezza.
Quale applicazione del hashing nei sistemi distribuiti?
Il hashing distribuito è usato per bilanciare il carico tra nodi in architetture di rete.
Hashing nelle strutture dati: cosa migliora?
Migliora l'efficienza della ricerca, inserimento e cancellazione di elementi.
Con quale algoritmo si usano le tabelle hash?
Algoritmi come SHA-256 o MD5 sono comunemente usati per generare valori hash.
Qual è l'effetto del hashing sulla deduplicazione?
Consente di identificare e rimuovere file duplicati confrontando valori hash.
Hashing in blockchain: perché è fondamentale?
Garantisce l'integrità e la sequenza delle transazioni in un registro distribuito.
Fragen in diesem Lernset(48)
1. Cosa si verifica quando due chiavi diverse producono lo stesso valore di hash?
2. Cosa rappresenta il termine 'collisone' nelle tabelle hash?
3. Che cosa descrive meglio una funzione di hashing?
4. Qual è una caratteristica principale delle tabelle hash?
5. Quale metodo non è utilizzato per risolvere le collisioni in una tabella hash?
6. Quale tra queste affermazioni riguardo le tabelle hash è falsa?
7. Quale delle seguenti affermazioni è falsa riguardo alle collisioni?
8. Quale delle seguenti affermazioni è vera riguardo al hashing delle password?
9. Qual è il principale svantaggio delle collisioni in hashing?
10. Quale metodo viene utilizzato nelle tabelle hash per gestire le collisioni?
11. Qual è uno degli scopi principali del hashing?
12. In quali applicazioni il hashing è utilizzato per migliorare le prestazioni?
13. In cosa consiste il metodo del Linear Probing?
14. Cosa significa 'carico' in una tabella hash?
15. Una buona funzione di hashing deve essere _____?
16. Quale dei seguenti metodi NON è utilizzato per il hashing?
17. Quale affermazione è vera riguardo al Double Hashing?
18. Cosa si intende per 'funzione di hashing'?
19. In cosa differisce l'hashing dalla cifratura?
20. Qual è lo scopo principale del checksum in relazione al hashing?
21. Cosa implica una buona funzione di hash?
22. Quale delle seguenti affermazioni è vera riguardo al clustering nelle tabelle hash?
23. Quale dei seguenti è un esempio di funzione di hashing semplice?
24. Cosa si intende per collisione in una tabella hash?
25. Quale scenario descrive meglio una collisione?
26. Cosa deve essere considerato quando si sceglie la dimensione di una tabella hash?
27. Quali sono alcune applicazioni comuni delle funzioni di hashing?
28. Qual è un vantaggio dell'hashing nel caching?
29. Quale metodo utilizza liste collegate per gestire le collisioni?
30. Quale dei seguenti è un vantaggio delle tabelle hash?
31. Cos'è un valore hash?
32. Quale affermazione riguardo alle funzioni di hashing è corretta?
33. Cosa NON è un effetto delle collisioni?
34. Cosa accade quando si verifica una collisione in una tabella hash?
35. Vero o falso: tutte le funzioni di hashing sono sicure contro gli attacchi.
36. Cos'è il bilanciamento del carico in sistemi distribuiti?
37. Cosa si intende con 'risoluzione delle collisioni'?
38. Cosa caratterizza una tabella hash dinamica?
39. Qual è l'effetto di utilizzare una funzione di hashing debole?
40. Quale dei seguenti scenari è un esempio di uso del hashing nella deduplicazione?
41. Quale affermazione è falsa riguardo alle collisioni?
42. Quale dei seguenti metodi è utilizzato nel chaining per gestire le collisioni in una tabella hash?
43. Cos'è un messaggio digest?
44. Quale delle seguenti affermazioni sul hashing è falsa?
45. Quando è utile utilizzare il metodo di Chaining?
46. Quale affermazione riguardo le tabelle hash è corretta?
47. Qual è la differenza principale tra un hash e un checksum?
48. Quale delle seguenti affermazioni descrive meglio l'uso del hashing nei sistemi di gestione dei file?
Ähnliche Lernsets
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
Eigenes Lernset erstellen
Lade ein PDF hoch, füge Notizen ein oder beschreibe ein Thema – KI erstellt Karteikarten, Quizze und mehr in Sekunden.

