Il dominio di interesse è la corrispondenza delle stringhe. Supponiamo che io abbia una struttura come questa.Come andresti a progettare una funzione per un hash perfetto?
typedef struct
{
char *name,
int (*function)();
} StringArray
StringArray s[] =
{
{"George", func1},
{"Paul", func2},
{"Ringo", func3},
{"John", func4},
{"", NULL} /* End of list */
}
C'è un numero fisso di stringhe nell'array. Sono hardcoded come nell'esempio. Se la tabella cambia, è necessario rivalutare la qualità della funzione di hash.
Desidero applicare una funzione di hash a una stringa e, se la stringa corrisponde a una nell'array, chiamare la funzione . Per questo è necessaria una perfetta funzione di hash. Nessuna collisione è consentita. Lo scopo di richiedere l'hashing è quello di ottenere prestazioni O (1) nella ricerca.
Che idee avete nel progettare una funzione per fare questo?
Non credo che lo spam significa ciò che si pensa significhi –
@Mitch: Vuoi dire questa è una domanda che potrebbe essere facilmente su google per? –
@ j_random_hacker: l'ho fatto. Ma è tardi, e non è spam ... –