- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Кто слышал или даст ссылки на объяснение или исходники?
Есть такой алгоритм кодирования, когда слово, не превышающее определенную длину можно закодировать уникальной последовательнстью из 4-5 байт/символов.
Товарищи, заранее благодарна... :)
Как вариант, можно представить символ не в байте, а в 5 битах. Этого хватит для один символов английского алфавита.
Кто слышал или даст ссылки на объяснение или исходники?
Есть такой алгоритм кодирования, когда слово, не превышающее определенную длину можно закодировать уникальной последовательнстью из 4-5 байт/символов.
Так все таки хэширование или кодирование? Первое в общем случае необратимо в то время как второе обычно предполагает обратимость.
Если хэширование то длина слова для хорошего алгоритма не важна, например md5 message digest использовать столько бит сколько надо для задачи.
Задача - из любого слова получить 4-байтное слово (другими словами уникальное для слова число) методом хэширования (необратимое тоже подойдет :))
Пошла качать и перечитывать Кнута. Там, вроде, в 3-м томе, если ничего не путаю, есть описание похожего...
Напридумывать алгоритмов можно много, сжимающих хоть к 1 байту. :) Вопрос в слипаниях хешей для разных слов. И алгоритмы часто дают много слипаний.
Была у меня когда-то идея хеш слова строить по слогам. Их гораздо больше, чем букв, но гораздо меньше, чем слов. Может, вам пригодится.
Задача - из любого слова получить 4-байтное слово (другими словами уникальное для слова число) методом хэширования (необратимое тоже подойдет :))
А как оно может быть уникальным, если всего 4-байтных слов существует меньше, чем 5-байтных? 😕
euhenio, У меня тоже была идея. Но вообще сейчас я все это бросила. По слогам - неплохое решение...
Interitus,
Вы хотите, чтоб на букву был 1 байт. Хе-хе...
Хэширование ж кодирует по слову, а не по букве. Возьмите 4 байта - это 32 бита. 2 в 32 степени - дофига. Сколько это получится слов?
Другой вопрос - вероятность слипания (одинакового хэша для разных слов), действительно. Ее нужно всемерно уменьшать...
Хэширование здорво индексирование ускоряет...
Вам наверно CRC32 в самый раз будет. :)
Interitus,
Там ведь 32-битный хэш?... А вероятность совпадания хэшей не знаете какая?
Дело, в общем, не в вероятности совпадения, а в реальности.
Реальный набор слов русского языка с падежами, числами и т.п. прогоните по нескольким известным алгоритмам - и, вероятно, откажетесь от любого из них... :)
Цитирую Влада Шабанова (да простит автор):
"Для 30 миллионов слов CRC32 дает примерно
тысяч 50 коллизий. Максимальное количество
слипаний в одной коллизии ~ 150."
Оригинал - 404