Voglio imparare a progettare la tabella Hash con una semplice funzione di hash per una migliore comprensione. Comprendo che la tabella hash funzionerà finché la funzione hash associa ogni chiave a un numero intero non negativo inferiore alla dimensione della tabella hash, ma funzionerà bene solo se distribuisce chiavi diverse su diversi bucket.
La mia domanda è: quali sono i modi alternativi per implementare la funzione hash utilizzando il codice ASCII.
Ho trovato l'implementazione della funzione hash del codice ASCII è facile costruire una funzione hash sull'idea di trattare ogni carattere della stringa come una cifra in un numero. Cerco di rappresentare un numero è quello di utilizzare un sistema di radix-10 con i numeri arabi.
Ad esempio, potrei rappresentare i numeri usando le lettere "a" - "z" per i numeri da 0 a 25 per ottenere il sistema Radix-26 descritto nel tuo libro di testo. I caratteri nel computer sono spesso memorizzati usando codici ASCII a 7 bit (con valori 0-127). Quindi possiamo trattare una stringa di caratteri ASCII come un numero Radix-128.