コード例 #1
0
ファイル: SOTA.java プロジェクト: SamGG/mev-tm4
  private void divideCell(SOTACell cellToDivide) {

    float[] parentCentroid;

    cellToDivide.left = new SOTACell(numberOfSamples, dataMatrix);
    cellToDivide.right = new SOTACell(numberOfSamples, dataMatrix);

    numberOfClusters++;

    cellToDivide.left.parent = cellToDivide;
    cellToDivide.right.parent = cellToDivide;

    cellToDivide.right.pred = cellToDivide.left;
    cellToDivide.left.succ = cellToDivide.right;

    if (cellToDivide.pred != null) {
      cellToDivide.left.pred = cellToDivide.pred;
      cellToDivide.left.pred.succ = cellToDivide.left;
    } else cellToDivide.left.pred = null;

    if (cellToDivide.succ != null) {
      cellToDivide.right.succ = cellToDivide.succ;
      cellToDivide.right.succ.pred = cellToDivide.right;
    } else cellToDivide.right.succ = null;

    if (cellToDivide == head) head = cellToDivide.left;

    cellToDivide.succ = null;
    cellToDivide.pred = null;

    for (int i = 0; i < numberOfSamples; i++) {
      cellToDivide.left.centroidGene.set(0, i, cellToDivide.centroidGene.get(0, i));
      cellToDivide.right.centroidGene.set(0, i, cellToDivide.centroidGene.get(0, i));
    }
  }