File hash.

Slides:



Advertisements
Presentazioni simili
Tecnologia delle basi di dati: Strutture fisiche di accesso
Advertisements

Unità D2 Archivi e file.
File System Cos’è un File System File e Directory
Realizzazione del file system
Interfaccia del file system
Hash Tables Indirizzamento diretto Tabelle Hash Risoluzioni di collisioni Indirizzamento aperto.
Metodo della moltiplicazione
Architettura Centralizzata di un DBMS Relazionale
Definizione di un algoritmo
Implementazione di dizionari Problema del dizionario dinamico Scegliere una struttura dati in cui memorizzare dei record con un campo key e alcuni altri.
Ordinamento in tempo lineare Il limite inferiore Ω(n log n) vale per tutti gli algoritmi di ordinamento generali, ossia per algoritmi che non fanno alcuna.
Hashing. 2 argomenti Hashing Tabelle hash Funzioni hash e metodi per generarle Inserimento e risoluzione delle collisioni Eliminazione Funzioni hash per.
Rappresentazione dell'informazione
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
VETTORI: DEFINIZIONI Se ad una grandezza fisica G si associa una direzione ed un verso si parla di vettori: ✔ Le grandezze fisiche possono essere di due.
Fondamenti di Informatica A - Massimo Bertozzi ALBERI E ALBERI BINARI DI RICERCA (BST)
Huffman Canonico: approfondimento. Come abbiamo visto, Huffman canonico ci permette di ottenere una decompressione più veloce e con un uso più efficiente.
Come è buona la birra! Alunni: Rebby M. e Ricky B. Classe:1 a media Enrico acquista 2 casse di birra, la prima al prezzo di € 38,40 e la seconda, che contiene.
Indici di Posizione Giulio Vidotto Raffaele Cioffi.
Le frazioni Che cosa è una frazione.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
SUMMERMATHCAMP TARVISIO, AGOSTO 2017
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Giovanni Finaldi Russo Pietro Bruno
Progettare algoritmi veloci usando strutture dati efficienti
Inserzione e Cancellazione
Le molecole.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Le primitive di una funzione
Progettazione di una base di dati relazionale
Sicurezza informatica
Sicurezza dati: Backup
File heap.
File con indice (sparso)
B-alberi e alberi autoaggiustanti
Insiemi di punti: altre caratteristiche
Elementi di teoria delle probabilità
La gestione degli insiemi disgiunti
I primi elementi della geometria
Organizzazione fisica
I FILES AD ACCESSO SEQUENZIALE
Lock a tre valori.
I BUS È un insieme di fili conduttori che permette il passaggio di dati tra le varie periferiche del pc.
Tipo di dato: array Un array è un tipo di dato usato per memorizzare una collezione di variabili dello stesso tipo. Per memorizzare una collezione di 7.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
Lock.
La Garanzia Capitale Circolante Confindustria, Roma 14 giugno 2005
Linguaggio C++ Selezione.
Il sistema di numerazione decimale
Numeri e conti presso gli antichi Sumeri
32 = 9 x2 = 9 x = 3 32 = 9 √9 = 3 L’estrazione di radice
Intervalli di confidenza
Ordinamento in tempo lineare
Per inserire questa diapositiva nella presentazione
Analisi ammortizzata Lezione n°3
Indici di dispersione Quantili: sono misure di posizione non centrale che dividono la serie ordinata di dati in un certo numero di parti di uguale numerosità.
ANALISI DI REGRESSIONE
Sistemi Digitali.
La struttura dei primi programma in C
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Rette e segmenti.
Le 4 operazioni.
Le 4 operazioni.
Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi
Lezione n°7 Splay-Trees e Heaps Prof.ssa Rossella Petreschi
concetti ed applicazioni
Per inserire questa diapositiva nella presentazione
Analisi ammortizzata Lezione n°2
File system Casi di studio (3).
Transcript della presentazione:

File hash

File hash il file è suddiviso in bucket (secchi) numerati da 0 a B-1 ciascun bucket è costituito da uno o più blocchi (collegati mediante puntatori) ed è organizzato come un heap

Bucket bucket 0 bucket 1 ………………… … bucket B-1

Bucket directory L’accesso ai bucket avviene attraverso la bucket directory che contiene B elementi

… 1 B-1 ……….. …

Funzione hash Dato un valore v per la chiave il numero del bucket in cui deve trovarsi un record con chiave v è calcolato mediante una funzione che prende il nome di funzione hash

Inserimento … v 1 v h(v)=0 B-1 ……….. …

Operazioni Una qualsiasi operazione (ricerca, inserimento, cancellazione, modifica) su un file hash richiede la valutazione di h(v) per individuare il bucket esecuzione dell’operazione sul bucket che è organizzato come un heap. Si osservi che, poiché l’inserimento di un record viene effettuato sull’ultimo blocco del bucket, è opportuno che la bucket directory contenga anche, per ogni bucket, un puntatore all’ultimo record del bucket.

Costi operazioni Pertanto: Se la funzione hash distribuisce uniformemente i record nei bucket: ogni bucket è costituito da n/B blocchi e quindi il costo richiesto di un’operazione è approssimativamente 1/B-esimo del costo della stessa operazione se il file fosse organizzato come un heap. Si osservi che, poiché l’inserimento di un record viene effettuato sull’ultimo blocco del bucket, è opportuno che la bucket directory contenga anche, per ogni bucket, un puntatore all’ultimo record del bucket.

Funzione hash Una funzione hash per essere “buona” deve ripartire uniformemente i record nei bucket, cioè al variare del valore della chiave deve assumere con la “stessa” probabilità uno dei valori compresi tra 0 e B-1.

Esempio funzione hash 1. trattare il valore v della chiave come una sequenza di bit 2. suddividere tale sequenza in gruppi di bit di uguale lunghezza e sommare tali gruppi trattandoli come interi v 1 1 9 + 7 + 10 = 26

Esempio funzione hash 3. dividere il risultato per il numero dei bucket (cioè per B) e prendere il resto della divisione come numero del bucket in cui deve trovarsi il record con chiave v. Es: se B=3 allora il record con chiave v si deve trovare nel bucket 2 in quanto 26=3*8+2