Я хотел бы сохранить расстояние между 4 кластерами, поэтому я взял сумму расстояния между кластером x и кластером y и наоборот - поскольку расстояние между кластером x и кластером y! = Cluster y и кластер x - затем разделите их на 2, чтобы он был ненаправленным.Избегайте добавления дубликатов в массив
Проблема, с которой я столкнулся, - это дублирование. Как я могу закончить с 6 расстояниями и избежать добавления дубликатов в массив в первую очередь.
Примечание:
я сделал DistanceBetweenClusterToAnother двумерный матрицы с целью решения этой проблемы, так как я не мог решить с одномерным массивом.
this.clusterSize() равен 4.
for (int k = 0; k < this.clusterSize(); k++) { for (int j = 0; j < this.clusterSize(); j++) { if (k != j) { DistanceBetweenClusterToAnother[k][j] = GADOfCluster1toCluster2[k][j] + GADOfCluster1toCluster2[j][k]; DistanceBetweenClusterToAnother[k][j]= DistanceBetweenClusterToAnother[k][j]/2; } } }
Используйте набор. –
Я даже не могу окутать, как расстояние между x и y не равно расстоянию между y и x ... –
@AlvinThompson, если функция расстояния не симметрична, например, в ориентированном графе :) –