Я очень новичок в Java, поэтому я начну с извинений за отсутствие кода для показа. Некоторое время назад я создал программу кластеризации как в SQL (используя обработку курсора), так и в Python (используя DataFrames) для отношений очереди, и меня попросили преобразовать в Java - без удачи - поэтому я надеюсь, что кто-то хорошая идея, как это сделать.
В этом и заключается проблема - использовать общие переменные человека и страны:
Я пытаюсь объединить каждого человека, который путешествует по стране и путешествовал. в той же стране, так что ниже вы можете видеть, что человек А путешествовал по Германии, и этот человек C также путешествовал (поэтому они должны быть в группе). Человек А и В оба были в Швеции, B и C имели был в США и c., поэтому они должны быть в одном кластере. Лица D и E никогда не были в посещенных странах A, B и C, но оба они были в Исландии, поэтому их следует объединить.
Итак, окончательное решение будет примерно таким:
Я должен упомянуть, что знаю, как решить проблему, но не знаю, как это сделать. это с использованием массивов в Java - или, если это лучшее решение . Это были бы шаги, как я их вижу:
- составляют уникальный список стран
- l oop по странам (поэтому сначала выбираем Германию, в качестве примера)
- Посмотрите всех людей, которые путешествовали в Германию
- Затем найдите все другие страны, в которые эти люди побывали
- Затем, глядя на новые страны в 4, посмотрите, нет ли дополнительных путешественников включенные ранее должны быть добавлены
- Затем go через 4 и 5, пока не будет дополнительных людей и стран, и добавьте номер кластера
- Затем удалите страны из первого кластера из списка мы делали это на шаге 1 и повторяем это до тех пор, пока на шаге 1 больше не останется стран
Но для этого я не нашел решения для массивов / списков, а не таблиц и фреймов…