алгоритм :)
Вид для печати
алгоритм :)
Пруфлинк, где сказано, что распределение первых 5 символов равномерно. Именно первых 5 символов. То что сам хеш равномерен, понятно. Но меня интересует первые 5 символов. Т.е. для 2 млн файлов должно быть на каждую из 5 букв по 125 000 совпадений. Я думаю достичь такого распределения не удастся в принципе на таком кол-во файлов.
Печально это всё...
Mulder ваш алгоритм тоже очень крут. Но у него проблемы с поиском одинаковых фалов. Или я не прав?
Алгоритм acada тоже очень крут но он раскидывает файлы неравномерно. И ?
Вы считаете что неравномерное раскидывание файлов это хуже чем поиск одинаковых файлов методом полного перебора?
В задании было сказано сделать оптимальное раскидыванье файлов. Ваш алгоритм тоже что-то не сильно идеальный однако походу принимается за единственно верный. Если даёте задание с широкой формулировкой и не отвечаете на вопросы участников будте готовы мыслить шире и при проверке.
еще не доказано :)Цитата:
Алгоритм acada тоже очень крут но он раскидывает файлы неравномерно. И ?
У меня есть собственный алгоритм? Где? Я еще никакого алгоритма не предлагал. То, что я показал, что такое оптимальное хранение, не значит, что я буду его прямо так в лоб реализовывать :) . Мне нравиться алгоритм сахара, но я еще его не проверял. На мой взгляд, его алгоритм самый идеальный. Меня пугает только тот факт, что он умалчивает, как он делал проверку на число файлов в каталоге :) .
Т.е. вы согласны, что главное условие задачи не соблюдено? Нет оптимального распределения.
Про метод поиска дубликатов я вообще скромно молчал. Почему вы мне приписываете то, чего я не совершал :) ?
На все вопросы были даны ответы. То, что вы их не прочли, как Сахар, исключительно ваши проблемы. Я четко следую условию задачи. Там сказано сделать оптимальное хранение, а не оптимальный поиск. На основании какого факта acad решил изменить условие под себя?
я же сказал еще не доказаноЦитата:
Т.е. вы согласны, что главное условие задачи не соблюдено? Нет оптимального распределения.
Легко проверить. Запустить в цикле генерацию 2 млн имен и пропускать их через sha1. На каждую первую букву должно быть по 125 тыс совпадений. Т.е.
a - 125 000
b - 125 000
c - 125 000
и т.д.
Потом засечь точно такой же цикл для остальных букв и проверить. Везде должно быть по 125000 совпадений. Максимальное отклонение - 1000. Согласитесь, что хранение, когда в одном каталоге храниться 6000 файлов, а в другом 4000 файлов, нельзя назвать оптимальным.
я считаю можно назвать оптимальнымЦитата:
когда в одном каталоге храниться 6000 файлов, а в другом 4000 файлов, нельзя назвать оптимальным.