ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

¿Qué complejidad tiene su algoritmo?


Enviado por   •  22 de Noviembre de 2018  •  Tarea  •  461 Palabras (2 Páginas)  •  177 Visitas

Página 1 de 2

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

...

Descargar como (para miembros actualizados) txt (3 Kb) pdf (118 Kb) docx (12 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com