Мне нужно хранить два типа информации в любой структуре данных для того, что я придумал для решения двухмерного массива в C#. Я должен хранить как:Альтернатива 2D-массиву в C#
- номер кластера в
int
типа данных подсчитывать - членство кластера в
int
типа
данных Если я использую 2D массива, как:
Int32[,] _clusterMembership = new Int32[10, 10];
Но проблема здесь:
- Не знаю, что общего количества количество кластеров будет?
- Я не знаю, что Кол-во участников у каждого кластера будет?
Так что вопрос: Как я могу управлять, чтобы сохранить эту информацию в C#?
ADDENDUM
Я должен использовать ответ от этого вопроса здесь, в этом методе, как:
public static List<Cluster> DP_Cluster(List<string> _customer, double _alpha)
{
var _currentClusters = 0; // current number of clusters i.e. "k"
var _memberNumber = 0; // running member number i.e. "n"
//var _dic = new Dictionary<int, List<string>>();
var _probOld = 0.0;
var _probNew = 0.0;
List<Cluster> myClusters = new List<Cluster>();
Cluster cluster = new Cluster(_currentClusters += 1);
cluster.Members.Add(new ClusterMember { Name = _customer.ElementAt(_memberNumber) });
myClusters.Add(cluster);
//_dic.Add(_currentClusters, _customer.ElementAt(_memberNumber));
_currentClusters += 1;
for(int _i = 1; _i < _customer.Count - 1; _i++)
{
if(_i <= _currentClusters)
{
_probOld = myClusters[_i].Members.Count/((_i+1) - 1 + _alpha);
}
else
{
_probNew = _alpha/((_i+1) - 1 + _alpha);
}
if(_probNew > _probOld)
{
// Add _customer.ElementAt(_memberNumber+=1) to New Cluster
Cluster cluster = new Cluster(_currentClusters += 1); // Here is an error as we defining same name for another cluster
myClusters.Add(cluster);
}
else
{
// Add _customer.ElementAt(_memberNumber+=1) to Old Cluster
}
}
return myClusters;
}
- Как мне обновить мой метод, чтобы получить желаемый результат?
Похоже, вы действительно должны иметь 'типа данных Cluster' с' собственностью членов организации, то просто создать '' List ... –