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

Cuando hablamos sobre complejidad de algoritmos nos referimos a las características


Enviado por   •  2 de Septiembre de 2017  •  Tutorial  •  637 Palabras (3 Páginas)  •  155 Visitas

Página 1 de 3

Cuando hablamos sobre complejidad de algoritmos nos referimos a las características, las formas, las maneras de analizar, diseñar, ejecutar el algoritmo, en otras palabras al estudio de la eficiencia teórica del programa.

Cabe resaltar que para poder obtener un buen algoritmo tiene que contar con algunas características como:

  • El algoritmo tiene que ser preciso ya que debe arrojar un cálculo correcto.
  • El algoritmo tiene que ser definido, con esto nos referimos a que los pasos deben ser claros y concretos.
  • El algoritmo es finito ya que cuenta con una cantidad límite da pasos.
  • El algoritmo recibe datos, porque cuenta con datos de entrada.

La solución del problema puede ser un conjunto de pasos únicos, pero eso no quiere decir que la solución sea única, sino que se puede tener una infinidad de posibles soluciones con fin único, las soluciones aplicadas en el algoritmo se pueden diferenciar por los números de pasos o el modelo de su estructura.

Ahora enfocándose más en la complejidad de algoritmos, tenemos que tener en cuenta que se  tiene que obtener el algoritmo más eficiente, con eso nos referimos a que nuestro algoritmo debe ocupar poco espacio de memoria, una buena secuencia de pasos, que contenga la menor cantidad de líneas de código, sencilla y entendible.

Para saber si nuestro algoritmo es eficiente podemos considerar dos factores, las cuales son:

  • Complejidad Temporal.
  • Complejidad Espacial.

En el primer caso de la complejidad temporal se refiere a la cantidad de tiempo en que se lograr ejecutar el algoritmo.

En el segundo caso se refiere al espacio de memoria que se requerirá para ejecutar el algoritmo.

Cuando analizamos la eficiencia del algoritmo a veces tener que analizarlo de una forma muy extrema, para ser más específicos cuando n tiene al infinito, a esto le llamamos un comportamiento asintótico.

Por ejemplo sea g(n) las diferentes funciones que lleguen a determinar n, donde en g podría existir una infinidad de funciones.

Estas funciones pueden estar agrupadas en familias, agrupándolos según sea su comportamiento asintótico, dicho comportamiento también se puede hacer si los valores son demasiado grandes.

Una vez que se tienen las familias de funciones agrupadas las cuales tienen un mismo comportamiento asintótico se les denominara como Orden de Complejidad.

Por lo general no es necesario conocer el comportamiento exacto del algoritmo, suficiente con reconocer una parte que tenga un comportamiento un poco más complejo que el resto.

En la complejidad de algoritmos también podemos encontrar otro detalle, el cual es orden de complejidad, entre estos tenemos:

f(1)

Orden constante.

f(log n)

Orden logarítmico.

f(n)

Orden lineal.

f(n log n)

Orden cuasi-lineal.

f(n2)

Orden cuadrático.

f(n3)

Orden cúbico

f(na)

Orden polinómico

f(2n)

Orden exponencial

f(n!)

Orden factorial

...

Descargar como (para miembros actualizados) txt (4 Kb) pdf (39 Kb) docx (13 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com