¿Qué complejidad tiene su algoritmo?
Enviado por Costa Blanca • 22 de Noviembre de 2018 • Tarea • 461 Palabras (2 Páginas) • 178 Visitas
Título del Control
Nombre Alumno
Nombre Asignatura
Instituto IACC
Ponga la fecha aquí
Desarrollo
Se dice que una palabra es palíndroma cuando se lee de la misma forma hacia adelante y hacia atrás. Por ejemplo: oso, ara, arenera, anilina, radar o reconocer. Cree un algoritmo, en pseudocódigo, que reconozca cuándo una palabra es palíndroma.
Algoritmo.
Proceso palindromas
escribir "ingrese una palabra"
leer palabra
Para i<-Longitud(palabra) Hasta 0 con paso -1 Hacer
palindroma<-palindroma + SubCadena(palabra,i,i)
FinPara
si palabra = palindroma Entonces
escribir "La Palabra ingresa es Palindroma"
SiNo
escribir "LA Palabra ingresada no es Palindroma"
FinSi
FinProceso
a) ¿Qué complejidad tiene su algoritmo? ¿Por qué?
Complejidad Temporal, por que es mas difícil calcular la complejidad espacial.
Bueno este algoritmo tiene una complejidad de algoritmo logarítmica, por que este crece a medida de los elementos que procesa. Este tipo de complejidad termina sus procesos antes que la complejidad lineal, por lo que se utilizara menos recurso en la ejecución del programa.
b) ¿Es posible mejorar su rendimiento? ¿Cómo?
No ya que al ser el algoritmo logaritmica ocupa menos tiempo en la ejecucion del program, la otro forma que podriamos realizar este algoritmo seria exponencial pero este seria mas lento versus a la complejidad logaritmica.
c) ¿Cómo sería un algoritmo exponencial para calcular esto?
Algoritmo Palindromas
Escribir "Escriba una frase o palabra"
Leer FraseOriginal
cont=0 Para i=Longitud(FraseOriginal) Hasta 0 Con Paso -1 Hacer
si Subcadena(FraseOriginal,i,i)<>" " Entonces
Buffer=Buffer+ Subcadena(FraseOriginal,i,i)
FinSi
FinPara
Para i=0 hasta Longitud(FraseOriginal) Con Paso 1 Hacer
si Subcadena(FraseOriginal,i,i)<>" " Entonces FraseInvertida=FraseInvertida+Subcadena(Buffer,cont,cont) cont = cont + 1
Sino FraseInvertida=FraseInvertida + Subcadena(FraseOriginal,i,i)
FinSi
FinPara
Limpiar Pantalla
si FraseInvertida = FraseOriginal Entonces
Escribir "Si son Palindromas"
Sino Escribir "No son Palindromas"
FinSi
FinAlgoritmo
En este caso podemos a preciar que el algoritmo en complejidad exponecial trae mas procesos y lienas de código por lo que el tiempo de ejequecucion es mas elevado en comparación de un algoritmo de complejidad logarítmica
...