- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Я это тоже утверждаю.
Задача решена? ;)
PS: О "длине" айди в утверждении ничего не было сказано.
оригинальный метод, но тогда стоит вернуться к первоначальному вопросу, а именно методе позволяющем впихнуть в 300Кб словарь с учетом морфологии русского языка, и именно алгоритм позволяющий реализовать это по утверждениям Артизана им и упоминался.
Хотя с моей точки зрения обе темы уже утратили свою актуальность и перешли в плоскость обсуждения "необоснованных" высказыванию некоторых форумян, это уже просто ребячество. ИМХО.
Кстати, Зодчий со словарем все очень непросто. Вполне можно придумать простую функцию хеширования, которая именно на этом словаре дает уникальность. Особенно если словарь маленький. Смотрите берется обычная хорошая функция хеширования, вычисляем ее значения на словаре. Получаем там парочку коллизий. Запоминаем слова, для которых коллизии и выдаем им номера из числа свободных. И все. Так что номера статического словаря хранить действительно не обязательно. Но работать это будет гарантированно только для заданного набора слов. И вполне может быть, что именно этот нехитрый и никому ненужный прием нам боялись поведать. Ну так теперь мы его знаем :-)
Более того, поскорльку хэш-функция - вещь достаточно произвольная, то ее можно сделать многопараметрической. А потом - варьируя эти параметры (потратив на это ОДИН РАЗ достаточно много времени) - ПОСТОРИТЬ (выбрать) такую хэш-функцию, которая вообще не будет иметь коллизий на данном статическом словаре.
Наверное, это и есть то решение, которое нужно Зодчему.
!Иван FXS, это смотря сколько и какие параметры...
itman, а вы говорили "никаких ослов"... :)
Параметры-то численые, и алгоритм хеширования к ним очень чувствителен!
!Иван FXS, статический словарь - лучше уж в виде дерева... и, имхо, это утопия - чтоб словарь был статическим при лазании по нету... :)
в виде дерева - лучше тем, что можно сделать "плотную" нумерацию. А если для статического словаря - так еще и упорядочееную по алфавиту (или - с каким-либо еще ... дополнительным полезным свойством).
Но на основе хэш функции, конечно же, (алгоритм) будет и компактнее, и быстрее ... в одну сторону. Обратно-то все-равно придется - так или иначе - через таблицу!
itman, я одного не пойму. Зачем Вам понадобилось делать "хеш-функцию, которая работает для всех немыслимых буквосочетаний"?
Это всё практической пользы не имеет. Сравните длину уникального хэша (если взять 32-ричную систему счисления (примерно столько букв в русском алфавите), то что-то вроде 32^20, где 20-число букв в слове) и количество реально употребляемых в инете слов. Результат превзойдет ожидания :)
И вообще, откуда взялась цифра в 20 букв? А если у меня на сайте есть слова из 40 букв? Давайте уж сразу до 100 букв хеш делайте, чтобы до конца света работало! :)
Если по теме, конечно, не может существовать хеш-функций, укладывающих любые буквосочетания в 4 байта. Но могут существовать хеш-функции, укладывающие реально существующие слова в 4 байта с заданным небольшим уровнем слипаний.
euhenio, понятие реально существующего слова в интернете - это миф. В принципе, если бы проблема была разрешима, то алгоритмы индексации и поиска можно было бы немножечко упростить.
!Иван FXS, gperf вроде бы делает это, но он, кажется, генерирует в результате табличку большого размера. а контекст был такой, что хотелось бы генерировать айди из слова практически не затрачивая дополнительной памяти.
gperf вроде бы делает это, но он, кажется, генерирует в результате табличку большого размера..
- большого - в каком смысле? Большого - по сравнению с чем?
_____________________
Я сунулся вот тут:
"Плотный" хэш. (Задачка.)
- посмотрим, что скажут "программисты" ...