Baby-Step Giant Step Алгоритм в c #. Хеш-таблица из памяти - PullRequest
3 голосов
/ 19 сентября 2011

Я пытаюсь использовать хеш-таблицу для решения проблемы дискретного алгоритма.Я использую алгоритм шага гигантского шага.Моя хеш-таблица содержит около 11 000 000 ключей и значений.Я продолжаю получать исключение нехватки памяти.Есть ли способ «исправить» это?или другую структуру данных для использования?Я использую Visual C # Express 2010 с .NET 4.0 Framework

Ответы [ 2 ]

0 голосов
/ 19 сентября 2011

Попробуйте использовать 64-битную платформу. В наши дни 32-разрядным исполняемым файлам часто не хватает места в виртуальной памяти.

0 голосов
/ 19 сентября 2011

Я чувствую, что это немного обманывает, но Википедия дает решение

"Алгоритм требует O (m) памяти. Можно использовать меньше памяти, выбрав меньшее m на первом шаге алгоритма. Это увеличивает время работы, которое затем составляет O (n / m). В качестве альтернативы для логарифмов можно использовать алгоритм rho Полларда, который имеет примерно то же время выполнения, что и алгоритм гигантского шага «baby-step», но только с небольшим требованием к памяти. "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...