|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Roman Ilyin 2:5020/400 22 Mar 2003 00:31:24 To : Dmitry Onegov Subject : CRC? -------------------------------------------------------------------------------- Доброе время суток, Dmitry! Вы писали в эхоконференции fido7.ru.algorithms --> Roman Ilyin [21 марта 2003 18:43]: ??>>>> Подскажите как сделать вот такую штуку: ??>>>> Есть набор имён латинскими буквами (макс. длина 15 символов). ??>>>> Hеобходимо сгенерировать на каждое уникальный номер ??>>>> из например 7-9 цифр. Желательно с возможностью восстановить ??>>>> потом имя (но не обязательно). DO> Цифры десятичные?? да DO> тогда только с потерей. это не критично. DO> Придумываешь (или берешь подходящую) хеш функцию и вперед. Вопрос именно в выборе хэш-функции. RI>> У меня 27 символов (буквы и пробел), думаю если сделать RI>> 10 самых редковстречающихся с номерами 0-9, а остальные - 0-F(hex), RI>> а потом представить как число. Получается полбайта на символ. DO> Т.е. 16 цифр? Которые потом преобразуются в 10-ное число. DO> 15 символов можно "впихать" в 75бит = 10 байт = 20 цифр. Если учитывать только 16 самых частовстречаемых, то получим 7.5 байт или 16 цифр. Остальные 10 букв кодируются теми же цифрами, но поскольку они редко встречаются, то не страшно. DO> И по желанию, можно преобразовать, чтобы красиво было (если это надо): DO> 50FE2 - 453C4 - 5324 - C8A0E7. Много, зато обратимо. Из 15-ти сделали DO> 20:(. DO> Все зависит от задачи. См. выше. А идея с "сделать красиво" мне понравилась. RI>> Просто я не знаю какие встретятся имена. DO> Можно взять набор английских текстов, и получить статистику по буквам... DO> Из текстов можно взять не только статистику по тому как часто DO> встречаются буквы, но и, например, как часто за буквой 'A' идет буква DO> 'Q'. А как это учитывать потом? Т.е. эта статистика должна по идее помочь, но как это применить я не пойму. -- Удачи! Roman Ilyin. E-mail: grisper@voronezh.net --- ifmail v.2.15dev5 * Origin: Информсвязь-Черноземье (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/5475b7edd66a.html, оценка из 5, голосов 10
|