К хорошему быстро привыкаешь. В Си++ нет проблем завести лишний std::unordered_map<std::string, int>. Но теперь мне такое нужно для проекта на Си. И где взять?
Написать? Это ж просто хеш таблица. Хеш-функция вроде FNV-1a плюс linear probing или кукушкино хеширование, если хочется поинтереснее. Даже grok должен справиться. Занудно только память выделять-освобождать.
Деревья дольше писать. Как раз считать хеш функцию совсем просто, две операции в цикле. Больше усилий уйдёт на изменение размера хеш таблицы по мере заполнения.
no subject
Написать? Это ж просто хеш таблица. Хеш-функция вроде FNV-1a плюс linear probing или кукушкино хеширование, если хочется поинтереснее. Даже grok должен справиться. Занудно только память выделять-освобождать.
no subject
no subject
Деревья дольше писать. Как раз считать хеш функцию совсем просто, две операции в цикле. Больше усилий уйдёт на изменение размера хеш таблицы по мере заполнения.
no subject
Мне потом это код на БЭСМ тащить. Боюсь, вычисление хэша там тормозное будет. И по памяти деревья компактнее выходят.