Что делает эту функцию хеширования инъективной? - PullRequest
1 голос
/ 21 июня 2019

Может кто-нибудь с лучшим пониманием методов хеширования, пожалуйста, объясните мне: что делает функцию ниже инъективной хеш-функции?

Эта функция предположительно создает уникальный ключ хеша для дерева поиска, которое:

- содержит только значения от 1 до 99 и

- содержит все возможные значения не более одного раза

Действительно ли необходимо выбрать 100 в качестве множителя (я предполагаю, что 100 не находится в диапазоне возможных значений дерева)?

Разве простое число, такое как, например, 31, также не может надежно дать ожидаемый результат?

int injectiveHashFunc(Tree b){
    int[] po = postorder-tree-walk(b);
    int key = 0;
    for(k = 0; k < po.length; k++) {
        key = key * 100 + po[k];
    }
    return key;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...