Algoritmo y su complejidad

Solo disponible en BuenasTareas
  • Páginas : 5 (1103 palabras )
  • Descarga(s) : 0
  • Publicado : 29 de marzo de 2011
Leer documento completo
Vista previa del texto
INTRODUCCION

En el presente ensayo hablare de un algoritmo y su complejidad; así como sus factores principales que lo hacen complejo. Por mencionar unos factores son el tiempo, la calidad, código fuente y el espacio en la memoria; bueno aunque hay otros factores que intervienen en la complejidad del algoritmo y su ejecución.

Comencemos por explicar que es un algoritmo.- Es un conjunto deinstrucciones debidamente ordenados con coherencia y lógica para resolver un problema del mundo real.
Una vez defino un algoritmo, procedo a analizar el código para ver si es eficiente, esto es que un código se compacto, eficiente y coherente. De nada sirve un código largo, grande si los dos resuelve el mismo problema. Uno como futuro profesionista o que pretende serlo debe tomar la decisióncorrecta para resolver dicho problema.
En la vida diaria uno tiene que tomar decisiones para facilitar un trabajo, por ejemplo un carpintero tiene que cortar madera porque tiene que decidir si utiliza serrucho de ano o cierra eléctrica, obviamente que optara por utilizar cierra eléctrica que hace un trabajo mas rápido, eficiente con menos tiempo y esfuerzo obteniendo el mismo producto.
Lo mismosucede con un algoritmo se debe analizar su estructura y como esta compuesto; de nada sirve tener sentencia, variables, etc. Si dicho algoritmo soluciona el mismo problema que un algoritmo mas sencillo y mas compacto. Esto permite el ahorro de tiempo y espacio. También la complejidad de un algoritmo depende de la cantidad de dato o elemento a procesar, no es lo mismo procesar 10 elementos que 100pues consumirá mas tiempo, espacio; aunque se puede utilizar métodos apropiados para hacerlo mas eficiente y rápido, es decir simplificar el algoritmo con métodos que nos convienen.
En cuanto al tiempo de ejecución nos referimos al tiempo consumido para procesar un conjunto de elementos o datos, estos medidos en milisegundos, aunque intervienen otros elementos como la rapidez de la maquina; estoes la capacidad de memoria de la computadora para procesar dichos elementos cuando se tiene una memoria casi saturada se vuelve mas lenta la ejecución. En cuanto a la calidad del compilador se refiere a la capacidad de la maquina virtual y sus librerías; por último la calidad del programa se refiere a la estructura del programa sus métodos y sentencias.
En tiempo y tamaño de las entradas dependede las funciones dichas funciones son:
El lineal.- Es aquella que consume el mismo tiempo para todos los datos; por ejemplo un dato consume un segundo, el siguiente consumirá otro segundo ya serian dos segundos y así sucesivamente.
El logarítmico.- consume un tiempo que va aumentando poco a poco; por ejemplo un dato consume un segundo el siguiente puede consumir 1.5 segundos y así sucesivamente.Cuadrático.- Es aquel que consume un dato, un tiempo que se va incrementando al cuadrado; por ejemplo un dato consume un segundo, los siguientes cuatro segundos, y así sucesivamente.
El cubico.- Es aquel que consume un dato un tiempo definido el segundo se incrementara al cubo y así sucesivamente.
Ya hemos visto las funciones, lo que ahora es determinar que funciones utilizar en cada momentoconveniente.
La aritmética de la notación O existe las llamadas tasas de crecimiento; en este tema solo me basaré en las formas que son:
T(N)=O(F(N)).- cuando O es similar al <0= jT(N)=Ω(F(N)) cuando Ω es similar al >0=jT(N)=θ(F(N)) cuando θ es similar al =j y T(N)=O(F(N)) cuando O es similar <.
Donde las variables T=al tiempo, N= a la cantidad de datos a procesar y F es la funciónutilizada en un algoritmo, dicha función depende si es simple, cuadrático o cubico ya anteriormente explicado.
La complejidad se refiere a la estructura del código es decir tipos de sentencias y variables utilizados en dicho programa y en qué orden va; como se ha dicho de nada sirve un programa largo, si hay otro con menos código pero resuelve el mismo problema. Esto ahorra tiempo, es cuánto...
tracking img