Tema: Eficiencia
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2016, 12:39
Ojimetro
 
Fecha de Ingreso: noviembre-2014
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
Eficiencia

Código:
/**
	 * Funcion que toma como datos la palabra "palabra" y los indices
	 * "i" y "j" y devuelve un booleano indicando si la subpalabra de 
	 * "palabra" situada entre los indices i y j es palindroma o no lo es
	 * 
	 * @param palabra palabra que utilizaremos para analizar si la subpalabra entre 
	 * 		  los indices i y j es palindroma o no
	 * @param i indice del principio de la subpalabra
	 * @param a indice del final de la subpalabra
	 * @return true si la subpalabra es palindroma o false si no lo es
	 */
	public boolean palindromo(char[] palabra, int i, int j)
	{
		int diferencia= j-i;
		if(diferencia==1 || diferencia==0)
		{
			//Todas las letras examinadas son iguales
			return true;
		}
		
		if(palabra[i] == palabra[j])
		{
			//El caracter del indice i es igual al caracter del indice j
			//Con lo que seguimos analizando caracter a caracter
			return palindromo(palabra, i+1, j-1);
		}
			
		//El caracter del indice i es distinto al caracter del indice j
		//Luego la subpalabra no es palindroma
		return false;
	}

Hola, me han pedido hacer el método descrito como comentario y responder a las siguientes preguntas. El método
se hacerle como ven pero no se responder a las preguntas. Agradecería mucho si me ayudasen.


Se supone que trabajamos sobre un alfabeto con n>=2 simbolos
¿Cual seria la eficiencia en el caso peor del diseño propuesto resolviendo la recurrencia resultante sin usar el teorema maestro?
¿Cual es la eficiencia en el caso medio suponiendo que la aparicion de cada simbolo del alfabeto en cualquier posicion es 1/n?

Muchas gracias

Última edición por Ojimetro; 20/03/2016 a las 13:05