Расчет min размера хэш-таблицы

Тема в разделе "WASM.A&O", создана пользователем alterego, 15 сен 2005.

  1. alterego

    alterego New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2005
    Сообщения:
    44
    Адрес:
    Russia
    Существует ли линейный метод расчета минимального размера хэш-таблицы, в ячейках которой нужно поместить только по одному объекту, если заранее известны число объектов и их хэш-коды? Пока, я это делаю только подбором.
     
  2. Relayer

    Relayer New Member

    Публикаций:
    0
    Регистрация:
    9 ноя 2004
    Сообщения:
    27
    не совсем понял что тебе нужно :)

    если у тебя заранее известный набор объектов и тебе надо организовать из них хеш-таблицу - тогда можно выбрать размер таблицы равной кол-ву объектов и испрользовать списки переполнений для разрешения коллизий хеш-функции.

    это самый простой вариант.

    если хочешь обойтись без списков ... тогда perfect hash. вобщем гугль тебе в помощь :)
     
  3. alterego

    alterego New Member

    Публикаций:
    0
    Регистрация:
    17 мар 2005
    Сообщения:
    44
    Адрес:
    Russia
    Я немного накосячил с вопросом. Пиво... Хэш-коды заранее не известны, но известны переменные из которых хэш-код можно получить, как остаток от деления на размер таблицы, который как раз то и нужно найти.
     
  4. Nimnul

    Nimnul New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    136
    Адрес:
    не Китай
    Если алгоритм хэширования лишен коллизий, т.е. если это путный алгоритм, то по хэшу вычислить значение, почти нереально.
     
  5. Relayer

    Relayer New Member

    Публикаций:
    0
    Регистрация:
    9 ноя 2004
    Сообщения:
    27
    с пивом надо завязывать :) хеш-коды заранее никогда не известны :) perfect hash как раз и задается вопросом построения такой хеш функции которая укладывала бы объекты в таблицу без коллизий. но это на мой взгляд геморно.



    Nimnul

    ты хоть сам понял что ты написал ? :)
     
  6. Nimnul

    Nimnul New Member

    Публикаций:
    0
    Регистрация:
    21 фев 2005
    Сообщения:
    136
    Адрес:
    не Китай
    >но известны переменные из которых хэш-код можно получить



    Я так понял что тебе нужно по хэшу определять переменную, из которой он был образован