К хорошему быстро привыкаешь. В Си++ нет проблем завести лишний std::unordered_map<std::string, int>. Но теперь мне такое нужно для проекта на Си. И где взять?
Написать? Это ж просто хеш таблица. Хеш-функция вроде FNV-1a плюс linear probing или кукушкино хеширование, если хочется поинтереснее. Даже grok должен справиться. Занудно только память выделять-освобождать.
Деревья дольше писать. Как раз считать хеш функцию совсем просто, две операции в цикле. Больше усилий уйдёт на изменение размера хеш таблицы по мере заполнения.
no subject
Date: 2025-05-15 02:00 (UTC)Написать? Это ж просто хеш таблица. Хеш-функция вроде FNV-1a плюс linear probing или кукушкино хеширование, если хочется поинтереснее. Даже grok должен справиться. Занудно только память выделять-освобождать.
no subject
Date: 2025-05-15 02:01 (UTC)no subject
Date: 2025-05-15 03:41 (UTC)Деревья дольше писать. Как раз считать хеш функцию совсем просто, две операции в цикле. Больше усилий уйдёт на изменение размера хеш таблицы по мере заполнения.
no subject
Date: 2025-05-15 03:46 (UTC)Мне потом это код на БЭСМ тащить. Боюсь, вычисление хэша там тормозное будет. И по памяти деревья компактнее выходят.
no subject
Date: 2025-05-15 02:08 (UTC)Не в этом ли блоге я её и видел ранее?
no subject
Date: 2025-05-15 02:13 (UTC)no subject
Date: 2025-05-15 02:13 (UTC)no subject
Date: 2025-05-15 02:14 (UTC)no subject
Date: 2025-05-15 05:17 (UTC)no subject
Date: 2025-05-15 19:47 (UTC)no subject
Date: 2025-05-15 07:15 (UTC)no subject
Date: 2025-05-15 19:46 (UTC)