br.usp.ime.mac5855.knn
Class ComparadorEuclideano<E>

java.lang.Object
  extended by br.usp.ime.mac5855.knn.ComparadorEuclideano<E>
Type Parameters:
E - O tipo de objeto a ser comparado.
All Implemented Interfaces:
ComparadorKnn<E>

public final class ComparadorEuclideano<E>
extends java.lang.Object
implements ComparadorKnn<E>

Esta classe define um comparador que calcula a distância euclideana entre dois objetos, a ser usado no algoritmo Knn. A distância euclideana é a raiz quadrada da soma dos quadrados das distâncias em cada dimensão (vide teorema de Pitágoras).

Author:
Victor Williams Stafusa da Silva
See Also:
Escalonador

Constructor Summary
ComparadorEuclideano(Escalonador<E> escalonador)
          Cria um ComparadorEuclideano com base em um Escalonador que é usado para medir as escalas e os atributos dos elementos.
 
Method Summary
 double distancia(E elem1, E elem2)
          Calcula a distância euclideana entre dois elementos.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ComparadorEuclideano

public ComparadorEuclideano(Escalonador<E> escalonador)
Cria um ComparadorEuclideano com base em um Escalonador que é usado para medir as escalas e os atributos dos elementos.

Parameters:
escalonador - O objeto que mede as escalas e obtém os valores dos atributos dos elementos dados.
Method Detail

distancia

public double distancia(E elem1,
                        E elem2)
Calcula a distância euclideana entre dois elementos. A distância euclideana é calculada pel teorema de Pitágoras, somando-se o quadrado da distância em cada dimensão e retirando-se a raiz quadrada.

Specified by:
distancia in interface ComparadorKnn<E>
Parameters:
elem1 - O primeiro elemento.
elem2 - O segundo elemento.
Returns:
A distância entre os dois elementos, que sempre é maior ou igual a zero.
Throws:
java.lang.IllegalArgumentException - Se qualquer um dos parâmetros for null ou se não for possível medir a distância entre eles.