1)Algoritmos_Y_Estructura_de_Datos
Cuando ejecutamos un programa sobre una gran cantidad de datos, debemos estar seguros
que el programa termina en plazo razonable. Esto es independiente del lenguaje de programación
utilizado, compilador/interprete/maquina_virtual utilizada y la metodología utilizada
( si es procedimental u orientada a objetos).
¿Que es un Algoritmo? A esta altura sabemos por intuición que es, pero hay que decirlo.
Algoritmo: Un algoritmo es aquel procedimiento computacional bien definido, que toma
o setea valores como entrada y produce un valor como salida. De este modo es una secuencia
de pasos computacionales que transforman una entrada en una salida. También
se puede ver como una herramienta para resolver un problema computacional bien
definido. La declaración del problema especifíca, en general, los términos que se desean
para la relación Entrada/salida. Los algoritmos describen el procedimiento computacional
específico para lograr que se relacionen la Entrada con la Salida.
El algoritmo tiene propiedades que lo hacen ver mejor/peor según el problema y circunstancia.
¿Que es un Problema? Es la definición de un objetivo de llevar una circunstancia actual
a otra. Por ejemplo: La ordenación es un problema si se puede definir formalmente el
objetivo de llevar la entrada a una salida deseada.
Definición formal del problema de ordenación:
Entrada: Una secuencia de n números
Si el input es (31; 41; 59; 26; 41; 58), el algoritmo retorna (26; 31; 41; 41; 58; 59).
Esa entrada en especial, para el problema, se llama instancia del problema de orde-
nación.
Se llama instancia de un problema a una entrada particular del problema que satisface
cualquier obligación impuesta en la declaración del problema.
Un algoritmo es correcto, si para toda instancia del problema, termina con la respuesta
correcta como salida. El algoritmo correcto resuelve el problema computacional.
Un algoritmo es incorrecto, si no termina nunca para algunas instancias de entrada,
o si terminar con un valor incorrecto como respuesta para algunas instancias de entrada.
Contrario a lo que usted espera, un algoritmo incorrecto puede ser util, si contro-
lamos su taza de error.
Suponga que tiene la computadora con velocidad infinita y la memoria infinita.
¿Para que perder el tiempo leyendo esto?
Esto le sirve para demostrar que su método de solución termina y que además el resultado
es correcto. Si posee la computadora con rapidez infinita cualquier método correcto basta.
Probablemente quiera estar en los margenes de "las buenas practicas de la ingeniería del
software" (diseñado, implementado y documentado, y cobrado por el trabajo realizado), pero
implementando el método más sencillo casi siempre. Las computadoras pueden ser rápidas,
pero no infinitamente rápidas. La memoria puede ser mucha, pero no infinita. El tiempo de
computo es por lo tanto una limitación de la fuente, y ocupa espacio en memoria. Programe
sabiamente para que los algoritmos sean eficientes en términos de tiempo y espacio.
espero que te aya gustado y hasta luego¡¡¡
Cuando ejecutamos un programa sobre una gran cantidad de datos, debemos estar seguros
que el programa termina en plazo razonable. Esto es independiente del lenguaje de programación
utilizado, compilador/interprete/maquina_virtual utilizada y la metodología utilizada
( si es procedimental u orientada a objetos).
¿Que es un Algoritmo? A esta altura sabemos por intuición que es, pero hay que decirlo.
Algoritmo: Un algoritmo es aquel procedimiento computacional bien definido, que toma
o setea valores como entrada y produce un valor como salida. De este modo es una secuencia
de pasos computacionales que transforman una entrada en una salida. También
se puede ver como una herramienta para resolver un problema computacional bien
definido. La declaración del problema especifíca, en general, los términos que se desean
para la relación Entrada/salida. Los algoritmos describen el procedimiento computacional
específico para lograr que se relacionen la Entrada con la Salida.
El algoritmo tiene propiedades que lo hacen ver mejor/peor según el problema y circunstancia.
¿Que es un Problema? Es la definición de un objetivo de llevar una circunstancia actual
a otra. Por ejemplo: La ordenación es un problema si se puede definir formalmente el
objetivo de llevar la entrada a una salida deseada.
Definición formal del problema de ordenación:
Entrada: Una secuencia de n números
Si el input es (31; 41; 59; 26; 41; 58), el algoritmo retorna (26; 31; 41; 41; 58; 59).
Esa entrada en especial, para el problema, se llama instancia del problema de orde-
nación.
Se llama instancia de un problema a una entrada particular del problema que satisface
cualquier obligación impuesta en la declaración del problema.
Un algoritmo es correcto, si para toda instancia del problema, termina con la respuesta
correcta como salida. El algoritmo correcto resuelve el problema computacional.
Un algoritmo es incorrecto, si no termina nunca para algunas instancias de entrada,
o si terminar con un valor incorrecto como respuesta para algunas instancias de entrada.
Contrario a lo que usted espera, un algoritmo incorrecto puede ser util, si contro-
lamos su taza de error.
Suponga que tiene la computadora con velocidad infinita y la memoria infinita.
¿Para que perder el tiempo leyendo esto?
Esto le sirve para demostrar que su método de solución termina y que además el resultado
es correcto. Si posee la computadora con rapidez infinita cualquier método correcto basta.
Probablemente quiera estar en los margenes de "las buenas practicas de la ingeniería del
software" (diseñado, implementado y documentado, y cobrado por el trabajo realizado), pero
implementando el método más sencillo casi siempre. Las computadoras pueden ser rápidas,
pero no infinitamente rápidas. La memoria puede ser mucha, pero no infinita. El tiempo de
computo es por lo tanto una limitación de la fuente, y ocupa espacio en memoria. Programe
sabiamente para que los algoritmos sean eficientes en términos de tiempo y espacio.
espero que te aya gustado y hasta luego¡¡¡
No hay comentarios:
Publicar un comentario
ha sido exitoso