public BCNode[] normalizeData(BCNode[] input){
		BCNode[] normalized = new BCNode[input.length];
		double high;
		double low;
		for(int i = 0; i < input[0].getNumAttributes();i ++){ //for each dimension of the data points
			low = 0;
			high = 0; 
			for(int j = 0 ; j < input.length; j ++){ //find the min and max values over all datavectors
				//find min
				if(low > input[j].getAttribute(i) || j ==0){
					low = input[j].getAttribute(i);
				}
				//find max
				if(high < input[j].getAttribute(i) || j==0){
					high = input[j].getAttribute(i);
				}
			}
			for(int j = 0 ; j < input.length; j ++){ //Normalize that dimension for all datavectors
				//normalize within range 0 to 1
				input[j].setAttribute(i,(input[j].getAttribute(i) - low)/(high-low));
			}
			
		}
		//copy over normalized data
		for(int i = 0 ; i < normalized.length; i ++){
			normalized[i] =input[i];
		}
		return normalized;
	}