подход: рассматривать уникальный идентификатор является страница/название URL или некоторый уникальный хэш из url
Процент от, например:
URL: http://stackoverflow.com/вопросы/18102087/структура данных-для- uniqurly накапливающего-ссылки
Id: 18102087 ИЛИ УНИКАЛЬНЫЙ-HASH (MD5 и т.д.)
Корень:http://stackoverflow.com
Другие адреса: Root/вопросы/меченые/Java, корневые/вопросы/18102124/MySQL-баз данных с использованием-MATLAB
структуры данных:
Map [ROOT-URL, Map[ID, URL]]
Fetch/Чтение:
- Учитывая URL, экстракт ROOT и ID (строковая функция парсинга/регулярное выражение)
- Поиск ROOT и LOOKUP ID в возвращенной карте
Получить все URL корня:
- Учитывая URL, экстракт ROOT и ID
- Поиск ROOT
Преимущества:
- Группировка на корне или базовый URL, может быть использован для различных целей (например исправить-глубокую структуру)
- Уменьшите Hash colisions
Против:
Память, поддерживающая дополнительную строку ROOT (скажем, миллионы раз).Один Map
подход будет иметь только идентификатор и URL
Два поиски вместо одного по сравнению с одним подходом на карте, но это должно быть хорошо, как это HashMap
как о списке, или любой другой структуры вы можете выполнить поиск. это не похоже на то, что у вас будут миллионы посещенных сайтов –
ну, это невостребовано для –
«Хэш», или вы можете создать свой собственный –