"Стоит задача написать архиватор лог файлов"
"Алгоритмов сжатия данных немало и у каждого своя спецификация.
Как определить какой алгоритм сжатия данных нужно использовать для архивации файла, в котором много повторяющихся элементов?"
У вас в задаче я не вижу требований, написать идеальный архиватор лог файлов.
Вдобавок написать хотя бы простейший архиватор - уже нетривиальная задача для новичка, а судя по вопросу - вы новичок.
Что я могу подсказать, так это свою догадку, что хотел ваш препод, но для этого нужно понять принципы алгоритмов сжатия по словарю - когда вы анализируете файл, находите в нем что-то похожее, составляете словарь похожих частей и сжимаете используя этот словарь.
Так вот - в случае сжатия нескольких файлов, можно использовать словарь первого файла для сжатия второго и так далее.
В архиваторах это называется solid архив.
Его преимущество - меньший размер.
Недостаток - при распаковке одного конкретного файла (например последнего), вам придется распаковать все предыдущие.