Hashing e tabelle hash domande

Domande frequenti sul hashing e le tabelle hash, adatte per studenti universitari che vogliono approfondire concetti chiave e applicazioni.

Alice56·48 flashkort·48 spørsmål·2 visninger
universitàcomputer_sciencealgorithms
0
Kjent
1 / 48
0
Lærer
Forside

Che cos'è una funzione di hashing?

Trykk for å vende
Bakside

Una funzione di hashing è un algoritmo che trasforma un input di qualsiasi dimensione in un output di lunghezza fissa, chiamato hash.

Trykk for å vende
Skjønner
Lærer fortsatt

Quiz(48 spørsmål)

Spørsmål 1 av 48

1. Cosa si verifica quando due chiavi diverse producono lo stesso valore di hash?

Begreper i dette studiesettet(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: h(k)=k mod 10\displaystyle h(k) = k \bmod 10 Indice: h(23)=3\displaystyle h(23) = 3

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.

Spørsmål i dette studiesettet(48)

1. Cosa si verifica quando due chiavi diverse producono lo stesso valore di hash?

A.Collisioni
B.Risoluzione
C.Distribuzione
D.Accesso

2. Cosa rappresenta il termine 'collisone' nelle tabelle hash?

A.Quando due chiavi diverse generano lo stesso indice
B.Quando una chiave non esiste nella tabella
C.Quando si verifica un errore di funzione di hashing
D.Quando la tabella è piena

3. Che cosa descrive meglio una funzione di hashing?

A.Trasforma un input in un output di lunghezza fissa.
B.Cifra i dati per la loro protezione.
C.Archivia i dati in formato compresso.
D.Genera numeri casuali.

4. Qual è una caratteristica principale delle tabelle hash?

A.Accesso diretto ai dati
B.Richiedono più tempo per la ricerca
C.Non possono gestire collisioni
D.Possono contenere solo valori interi

5. Quale metodo non è utilizzato per risolvere le collisioni in una tabella hash?

A.Chaining
B.Open Addressing
C.Linear Probing
D.Indexing

6. Quale tra queste affermazioni riguardo le tabelle hash è falsa?

A.Le tabelle hash sono strutture dati per mappare chiavi a valori
B.Le tabelle hash possono gestire solo dati di tipo intero
C.Le tabelle hash permettono accesso rapido ai dati
D.Le tabelle hash richiedono una funzione di hashing

7. Quale delle seguenti affermazioni è falsa riguardo alle collisioni?

A.Le collisioni si verificano quando due input diversi producono lo stesso hash.
B.Le collisioni non possono mai verificarsi con una buona funzione di hashing.
C.Le collisioni possono compromettere l'integrità dei dati.
D.Le collisioni sono un fenomeno comune nelle funzioni di hashing.

8. Quale delle seguenti affermazioni è vera riguardo al hashing delle password?

A.Le password sono salvate in chiaro
B.Il valore hash può essere facilmente invertito
C.Il hashing rende le password più sicure
D.Il hashing è un metodo di crittografia

9. Qual è il principale svantaggio delle collisioni in hashing?

A.Maggiori costi di memoria
B.Aumento del tempo di accesso
C.Riduzione della velocità della funzione di hash
D.Diminuzione della capacità della tabella

10. Quale metodo viene utilizzato nelle tabelle hash per gestire le collisioni?

A.Chaining
B.Binning
C.Sequencing
D.Sorting

11. Qual è uno degli scopi principali del hashing?

A.Proteggere i dati tramite cifratura.
B.Assicurare l'integrità e la velocità di accesso ai dati.
C.Archiviare dati in modo permanente.
D.Generare numeri casuali.

12. In quali applicazioni il hashing è utilizzato per migliorare le prestazioni?

A.Sistemi di archiviazione
B.Sistemi di codifica video
C.Database relazionali
D.Sistemi operativi

13. In cosa consiste il metodo del Linear Probing?

A.Usare una lista collegata
B.Cercare sequenzialmente una posizione libera
C.Applicare una funzione di hash secondaria
D.Ridurre il numero di collisioni

14. Cosa significa 'carico' in una tabella hash?

A.Il numero di collisioni nella tabella
B.Il numero di elementi rispetto alla dimensione della tabella
C.Il tempo di accesso medio
D.La quantità di memoria utilizzata

15. Una buona funzione di hashing deve essere _____?

A.Deterministica e veloce.
B.Solo veloce.
C.Random e imprevedibile.
D.Complessa e difficile da calcolare.

16. Quale dei seguenti metodi NON è utilizzato per il hashing?

A.SHA-1
B.MD5
C.AES
D.SHA-256

17. Quale affermazione è vera riguardo al Double Hashing?

A.È un tipo di chaining
B.Utilizza una seconda funzione di hash
C.Non è mai efficace
D.Richiede più memoria

18. Cosa si intende per 'funzione di hashing'?

A.Una funzione che restituisce un valore casuale
B.Una funzione che trasforma una chiave in un indice
C.Una funzione che analizza il contenuto della tabella
D.Una funzione per ordinare gli elementi

19. In cosa differisce l'hashing dalla cifratura?

A.L'hashing è reversibile, la cifratura no.
B.L'hashing produce output di lunghezza variabile, la cifratura no.
C.L'hashing è irreversibile, mentre la cifratura è reversibile.
D.La cifratura è più veloce dell'hashing.

20. Qual è lo scopo principale del checksum in relazione al hashing?

A.Compressione dei dati
B.Verifica dell'integrità dei dati
C.Crittografia dei dati
D.Aumento della velocità di accesso

21. Cosa implica una buona funzione di hash?

A.Mappare molte chiavi allo stesso indice
B.Avere una alta probabilità di collisione
C.Distribuire uniformemente le chiavi
D.Essere facile da calcolare ma inefficace

22. Quale delle seguenti affermazioni è vera riguardo al clustering nelle tabelle hash?

A.Può portare a una diminuzione delle prestazioni
B.È benefico per la ricerca
C.Non si verifica mai con una buona funzione di hashing
D.È un metodo di gestione delle collisioni

23. Quale dei seguenti è un esempio di funzione di hashing semplice?

A.La somma dei valori ASCII dei caratteri di una stringa.
B.La compressione dei file.
C.La cifratura RSA.
D.L'algoritmo di ordinamento QuickSort.

24. Cosa si intende per collisione in una tabella hash?

A.Due chiavi producono lo stesso hash
B.Un hash è troppo lungo
C.Un valore è duplicato
D.Un algoritmo è inefficiente

25. Quale scenario descrive meglio una collisione?

A.La chiave 'abc' e 'def' mappano a indici diversi
B.La chiave 'ciao' e 'oic' mappano allo stesso indice
C.La chiave '123' è cancellata
D.La chiave 'xyz' è inserita con successo

26. Cosa deve essere considerato quando si sceglie la dimensione di una tabella hash?

A.Deve essere un numero pari
B.Deve essere un numero primo
C.Deve essere un multiplo di 10
D.Deve essere molto grande

27. Quali sono alcune applicazioni comuni delle funzioni di hashing?

A.Archiviazione di file compressi.
B.Verifica dell'integrità dei dati e gestione delle password.
C.Generazione di numeri casuali.
D.Cifratura dei dati sensibili.

28. Qual è un vantaggio dell'hashing nel caching?

A.Aumenta la memoria necessaria
B.Reduce il tempo di accesso ai dati memorizzati
C.Richiede più elaborazione
D.Impedisce accessi multipli

29. Quale metodo utilizza liste collegate per gestire le collisioni?

A.Open Addressing
B.Chaining
C.Linear Probing
D.Double Hashing

30. Quale dei seguenti è un vantaggio delle tabelle hash?

A.Accesso in tempo costante alle informazioni
B.Facilità di ordinamento
C.Memoria illimitata
D.Semplicità di implementazione

31. Cos'è un valore hash?

A.È l'input originale della funzione di hashing.
B.È l'output risultante da una funzione di hashing.
C.È un errore di trasmissione.
D.È un tipo di cifratura.

32. Quale affermazione riguardo alle funzioni di hashing è corretta?

A.Devono essere reversibili
B.Devono essere deterministiche
C.Devono generare chiavi uniche
D.Devono essere lente

33. Cosa NON è un effetto delle collisioni?

A.Aumento del tempo di accesso
B.Diminuzione della memoria utilizzata
C.Complicazione della gestione della tabella
D.Riduzione dell'efficienza

34. Cosa accade quando si verifica una collisione in una tabella hash?

A.L'elemento viene automaticamente eliminato
B.La tabella si espande
C.Deve essere applicata una strategia di risoluzione
D.Niente, l'operazione ha successo

35. Vero o falso: tutte le funzioni di hashing sono sicure contro gli attacchi.

A.Vero
B.Falso
C.Solo alcune sono sicure.
D.Dipende dal tipo di dati.

36. Cos'è il bilanciamento del carico in sistemi distribuiti?

A.Un metodo per aumentare la sicurezza
B.Un processo per migliorare la velocità delle disconnessioni
C.Un metodo per distribuire il lavoro tra diversi nodi
D.Un modo per ridurre il numero di nodi

37. Cosa si intende con 'risoluzione delle collisioni'?

A.Evita le collisioni
B.Gestisce le collisioni per garantire l'accesso ai dati
C.Aumenta le dimensioni della tabella
D.Mappa più chiavi allo stesso indice

38. Cosa caratterizza una tabella hash dinamica?

A.Non può cambiare dimensioni
B.Può espandersi o contrarsi in base agli elementi
C.Ha sempre una dimensione fissa
D.Utilizza solo funzioni di hashing semplici

39. Qual è l'effetto di utilizzare una funzione di hashing debole?

A.Maggiore sicurezza dei dati.
B.Minore probabilità di collisioni.
C.Maggiore probabilità di collisioni e attacchi.
D.Aumento della velocità di accesso ai dati.

40. Quale dei seguenti scenari è un esempio di uso del hashing nella deduplicazione?

A.Memorizzare file in formato compresso
B.Confrontare file per trovare duplicati
C.Crittografare i file per proteggerli
D.Archiviare file in cloud

41. Quale affermazione è falsa riguardo alle collisioni?

A.Le collisioni possono essere parzialmente evitate
B.Sono sempre dannose
C.Possono ridurre l'efficienza
D.Possono essere gestite

42. Quale dei seguenti metodi è utilizzato nel chaining per gestire le collisioni in una tabella hash?

A.Liste collegate
B.Ridimensionamento della tabella
C.Funzioni di hashing multiple
D.Scomposizione delle chiavi

43. Cos'è un messaggio digest?

A.Una forma di cifratura dei dati.
B.Un valore hash che rappresenta un insieme di dati.
C.Un errore di trasmissione.
D.Un algoritmo di ordinamento.

44. Quale delle seguenti affermazioni sul hashing è falsa?

A.Il hashing è usato per garantire l'integrità
B.Il hashing è reversibile
C.Il hashing accelera la ricerca
D.Il hashing è utile per la gestione della memoria

45. Quando è utile utilizzare il metodo di Chaining?

A.Quando le collisioni sono rare
B.Quando la tabella è di dimensioni fisse
C.Quando ci sono molte collisioni attese
D.Quando si desidera un accesso rapido

46. Quale affermazione riguardo le tabelle hash è corretta?

A.Le tabelle hash possono memorizzare solo chiavi uniche
B.Le tabelle hash sono sempre di dimensione fissa
C.Le tabelle hash non richiedono una funzione di hashing
D.Le tabelle hash possono avere collisioni anche con chiavi diverse

47. Qual è la differenza principale tra un hash e un checksum?

A.Entrambi sono utilizzati per garantire l'integrità dei dati.
B.L'hash è utilizzato per l'integrità, il checksum per errori di trasmissione.
C.Il checksum è sempre di lunghezza fissa.
D.L'hash è sempre più lungo di un checksum.

48. Quale delle seguenti affermazioni descrive meglio l'uso del hashing nei sistemi di gestione dei file?

A.Il hashing viene utilizzato per migliorare la velocità di accesso e verifica dell'integrità dei file.
B.Il hashing è utilizzato solo per la crittografia dei file.
C.Il hashing non ha applicazioni nei sistemi di gestione dei file.
D.Il hashing è utilizzato esclusivamente per la compressione dei file.

Relaterte studiesett

Lag ditt eget studiesett

Last opp en PDF, lim inn notatene dine, eller beskriv et tema – AI genererer flashkort, quizer og mer på sekunder.