По сути, я хочу взять список таких вещей, как ...
a 345
b 762
c 983
d 425
e 45
...
и, учитывая максимальное расстояние, создать кластеры для каждого элемента, содержащего другие элементы в этом диапазоне.Например, если бы я указал максимальное расстояние выше, равное 300, кластеры были бы ...
a 345
d 425
e 45
b 762
c 983
c 983
b 762
d 425
a 345
e 45
a 345
Ограничения мудры, я читаю записи в файле, который является общим с работой, которую яделает.Таким образом, я обычно сосредотачиваю свои алгоритмы на выполнении работы, поскольку она читает записи, а не на чтении всего в файле, хранении его в некоторой удобной структуре и последующей работе над ним.В любом случае, я стараюсь избегать сохранения записей из файла, а затем выполнять сортировку по этим значениям, а затем просто проходить через отсортированный список и делать соответствующий вывод.
Я сделал несколько дилетантовМозговой штурм, но прежде чем я проведу много времени, делая тщательный анализ, я чувствую, что я где-то видел это или что есть алгоритм, очень похожий на это.Я не прошу кого-то придумать алгоритм, если вы не чувствуете такой склонности, просто интересуюсь, существуют ли какие-либо существующие, которые решают эту проблему или очень похожую на нее.
Спасибо.