scarface7
13-10-2007, 18:56
salve a tutti,
mi servirebbe il vostro aiuto per risolvere questa esercitazione sul linguaggio java:
Realizzare una classe Table per la gestione di una tabella (di dimensiona prefissata) ordinata di coppie <Key,Value>, che esporta i seguenti metodi :
Table():costruttore che costruisce una tabella di dimensione standard,
Table(int size): costruttore che costruisce una lista di dimensione size,
....e altre funz varie
Note realizzative:
La tabella è realizzata mediante una tecnica di hashing ad indirizzamento aperto in un vettore di dimensiona prefissata, allocato staticamente. Ipotizzata la chiave Key di tipo intero, si adoperi la funzione di hash a scansione lineare:
h(Key,i) = ((key%size)+i)%size
dove i è il tentativo effettuato. Inizialmente si invoca la funzione h(key,0); se la posizione è libera si inserisce l’elemento, altrimenti, si cerca la nuova posizione con h(key,1); ancora una volta se è libera si inserisce l’elemento altrimenti si invoca h(key,2), e così via. Ovviamente la tabella è piena se si giunge al tentativo size-1;
ora quello che vi chiedo:
ke tipo di vettore statico dovrei usare...mica dovrei usare una matrice?
vi ringrazio anticipatamente per le vostre risposte
mi servirebbe il vostro aiuto per risolvere questa esercitazione sul linguaggio java:
Realizzare una classe Table per la gestione di una tabella (di dimensiona prefissata) ordinata di coppie <Key,Value>, che esporta i seguenti metodi :
Table():costruttore che costruisce una tabella di dimensione standard,
Table(int size): costruttore che costruisce una lista di dimensione size,
....e altre funz varie
Note realizzative:
La tabella è realizzata mediante una tecnica di hashing ad indirizzamento aperto in un vettore di dimensiona prefissata, allocato staticamente. Ipotizzata la chiave Key di tipo intero, si adoperi la funzione di hash a scansione lineare:
h(Key,i) = ((key%size)+i)%size
dove i è il tentativo effettuato. Inizialmente si invoca la funzione h(key,0); se la posizione è libera si inserisce l’elemento, altrimenti, si cerca la nuova posizione con h(key,1); ancora una volta se è libera si inserisce l’elemento altrimenti si invoca h(key,2), e così via. Ovviamente la tabella è piena se si giunge al tentativo size-1;
ora quello che vi chiedo:
ke tipo di vettore statico dovrei usare...mica dovrei usare una matrice?
vi ringrazio anticipatamente per le vostre risposte