Cтраница 2
С одной стороны, данный алгоритм вполне приемлем поскольку он гарантирует, что любое новое слово будет иметь свое кодовое обозначение. С другой стороны он страдает тем, что отводит громадные объемы памяти для комбинаций букв, которые не являются словами вообще, как это видно из четвертой записи. Идеальная функция хеширования ставит в соответствие каждому слову, имеющему смысл для пользователя, единственное числовое значение и опускает слова или комбинации букв, не интересующие пользователя. В реальной жизни такая идеальная схема недостижима. Применяемые на практике алгоритмы индексируют слова, которыми никто никогда не пользуется, вызывают конфликтные ситуации, когда два или более слова имеют одинаковые кодовые обозначения, вроде второго и третьего слова в нашем примере. Теоретически этого не должно было случиться, но интерпретатор с языка М - Бейсик, который производил вычисление, не обеспечивает необходимой точности расчетов. В других случаях алгоритм хеширования может не различать все слова, которые по нему обрабатываются. [16]