⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 temporizador.java

📁 Java examples for dinamic programming, divide and conquer, greedy algorithms and backtracking.
💻 JAVA
字号:
/*
 * Temporizador.java
 */

package temporizadores;

import soluciones.EstrategiaSolucion;

/**
 * Contiene toda la l骻ica necesaria para medir tiempos de 
 * ejecuci髇 de algoritmos. Para medir un algoritmo, la clase que 
 * lo contenga tiene que implementar la interfaz <b>EstrategiaSolucion</b>. 
 * Sus m閠odos se utilizan en esta clase. Para medir el tiempo de 
 * ejecuci髇, se crea un objeto Temporizador y se invoca al m閠odo 
 * cronometra, pas醤dole como argumento el objeto que implementa la 
 * interfaz Temporizable. El m閠odo <tt>cronometra</tt> mide el 
 * tiempo de ejecuci髇 de su <i>solucion</i>. Posteriormente se
 * puede tomar su tiempo medio o su tiempo m韓imo. Si se imprime un 
 * objeto temporizador se obtiene informaci髇 sobre el tiempo m韓imo 
 * de ejecuci髇. Los tiempos son medidos en nanosegundos, usando la
 * funci髇 <tt>System.nanoTime()</tt>
 *
 * @version 2.0, 01/09/2005
 * @see EstrategiaSolucion
 * @since jdk 5.0
 */
public class Temporizador {
	
	/**
	 * El n鷐ero de veces que queremos calcular el tiempo de 
	 * ejecuci髇 del algoritmo a medir. El tiempo m韓imo o el tiempo
	 * medio se toma de entre las <code>numPruebas</code> ejecuciones 
	 * de 閟te.
	 */
	private int numPruebas;
	
	/**
	 * Almacena el tiempo de ejecuci髇, en nanosegundos, de cada una
	 * de las <code>numPruebas</code> ejecuciones del algoritmo a 
	 * medir. Sobre 閘 se calcula la media y el m韓imo.
	 */
	private long[] tiempos;
	
	/**
	 * Crea un objeto temporizador. Valida que el argumento sea 
	 * mayor que cero.
	 *
	 * @param numPruebas el n鷐ero de veces que se va a medir el
	 * tiempo.
	 * @throws IllegalArgumentException si el n鷐ero de pruebas
	 * es cero o negativo.
	 */
	public Temporizador(int numPruebas) {
		
		// A rellenar
		if (numPruebas > 0){
		this.numPruebas = numPruebas;
		}else{
			throw new IllegalArgumentException(
					"numPruebas debe ser mayor o igual que uno");
		}
		tiempos = new long [numPruebas];
		//fin relleno
		
	}
	
	/**
	 * Crea un objeto temporizador que se ejecutar

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -