SlideShare uma empresa Scribd logo
1 de 6
INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO. 
MATERIA: Estructura De Datos 
TIPO: Presentación (Evidencias Unidad 7) 
DOCENTE: MTL. Niels Henryk Aranda Cuevas 
ALUMNO: Jhonny Gabriel Chablé Pat 
CARRERA: Ingeniería En Sistemas Computacionales 
TURNO: Matutino 
AULA: J-3 GRUPO: “A” 
TERCER SEMESTRE 
LUGAR Y FECHA: Felipe Carrillo Puerto, Q.Roo, 8/12/2014
Análisis de algoritmos. 
Un algoritmo es una secuencia de pasos lógica para encontrar la solución de un problema. 
Todo algoritmo debe contar con las siguientes características: preciso, definido y finito. Por 
Preciso, entenderemos que cada paso del algoritmo tiene una relación con el anterior y el 
siguiente; un algoritmo es Definido, cuando se ejecuta más de una vez con los mismos datos y 
el resultado es el mismo; y Finito, indica que el algoritmo cuenta con una serie de pasos 
definidos o que tiene un fin. 
Hablando de estructuras de datos podemos decir que los algoritmos según su función se 
dividen en: 
• Un algoritmo de ordenamiento 
• Un algoritmo de búsqueda 
La complejidad de un algoritmo o complejidad computacional, estudia los recursos y esfuerzos 
requeridos durante el cálculo para resolver un problema los cuales se dividen en: tiempo de 
ejecución y espacio en memoria. El factor tiempo, por lo general es más importante que el 
factor espacio, pero existen algoritmos que ofrecen el peor de los casos en un menor tiempo 
que el mejor de los casos, lo cual no es la mejor de las soluciones.
Unidad 7. Análisis de los algoritmos . 
Complejidad en el tiempo 
El tiempo de ejecución de un algoritmo, se refiere a la suma de los tiempos en los que el 
programa tarda en ejecutar una a una todas sus instrucciones, tomando en cuanta que cada 
instrucción requiere una unidad de tiempo, dicho tiempo se puede calcular en función de n (el 
numero de datos), lo que se denomina T(n) 
Si hacemos un análisis de forma directa al programa para determinar el tiempo de 
ejecución del mismo, debemos definir el conjunto de operaciones primitivas, que son 
independientes del lenguaje de programación que se use. Algunas de las funciones 
primitivas son las siguientes: 
• Asignación de un valor a una variable. 
• Llamada a un método. 
• Ejecución de una operación aritmética. 
• Comparar dos números. 
• Poner índices a un arreglo. 
• Seguir una referencia de objeto. 
• Retorno de un método.
Complejidad en el espacio 
La complejidad de espacio, se refiere a la memoria que utiliza un programa para su ejecución; es decir el 
espacio de memoria que ocupan todas las variables propias del programa. Dicha memoria se divide 
en Memoria estática y Memoria dinámica. 
Para calcular la memoria estática, se suman la cantidad de memoria que ocupa cada una de las variables 
declaradas en el programa. 
Tomando en cuenta los tipos de datos primitivos del lenguaje de programación java podemos determinar el 
espacio que requiere cada una de las variables de un programa. 
El cálculo de la memoria dinámica, no es tan simple ya que depende de cada ejecución del programa o 
algoritmo y el tipo de estructuras dinámicas que se estén utilizando considerando:
(Selección de un algoritmo). 
Eficiencia de los algoritmos 
Una de las características primordiales en la selección de un algoritmo es que este sea sencillo de entender, 
calcular, codificar y depurar, así mismo que utilice eficientemente los recursos de la computadora y se ejecute 
con la mayor rapidez posible con un eficaz uso de memoria dinámica y estática. 
También para seleccionar correctamente el mejor algoritmo es necesario realizar estas preguntas: 
¿Qué grado de orden tendrá la información que vas a manejar? 
Si la información va a estar casi ordenada y no quieres complicarte, un algoritmo sencillo como el 
ordenamiento burbuja será suficiente. Si por el contrario los datos van a estar muy desordenados, un 
algoritmo poderoso como Quicksort puede ser el más indicado. Y si no puedes hacer una presunción sobre el 
grado de orden de la información, lo mejor será elegir un algoritmo que se comporte de manera similar en 
cualquiera de estos dos casos extremos. 
¿Qué cantidad de datos vas a manipular? 
Si la cantidad es pequeña, no es necesario utilizar un algoritmo complejo, y es preferible uno de fácil 
implementación. Una cantidad muy grande puede hacer prohibitivo utilizar un algoritmo que requiera de 
mucha memoria adicional. 
¿Qué tipo de datos quieres ordenar? 
Algunos algoritmos sólo funcionan con un tipo específico de datos (enteros, enteros positivos, etc.) y otros 
son generales, es decir, aplicables a cualquier tipo de dato. 
¿Qué tamaño tienen los registros de tu lista? 
Algunos algoritmos realizan múltiples intercambios (burbuja, inserción). Si los registros son de gran tamaño 
estos intercambios son más lentos.
Conclusión 
Antes de realizar un programa conviene elegir un buen algoritmo, que utilice pocos recursos, 
considerando como más importantes el tiempo que lleve ejecutarse y la cantidad de espacio 
en memoria que requiera. Es engañoso pensar que todos los algoritmos son "más o menos 
iguales" y confiar en nuestra habilidad como programadores para convertir un mal algoritmo 
en un producto eficaz. En el análisis de algoritmos se considera usualmente el caso peor, si 
bien a veces conviene analizar igualmente el caso mejor y hacer alguna estimación sobre un 
caso promedio. Para problemas pequeños es cierto que casi todos los algoritmos son "más o 
menos iguales", dejando a lado otros aspectos como esfuerzo de codificación, legibilidad, 
etc. los órdenes de complejidad sólo son importantes para grandes.

Mais conteúdo relacionado

Mais procurados

Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmoszygdiaz
 
Unidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoUnidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoEnrique2194
 
Presentacion para analisis de algoritmo
Presentacion para analisis de algoritmoPresentacion para analisis de algoritmo
Presentacion para analisis de algoritmoSamet A Muñoz M
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datosRené Sosa Arana
 
Complejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosComplejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosSergio Ormeño
 
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSUNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSLuiS YmAY
 
Análisis de algoritmos [recuperado]
Análisis de algoritmos [recuperado]Análisis de algoritmos [recuperado]
Análisis de algoritmos [recuperado]Joaquín Contreras
 
Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Patricia Correa
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmosSid_Dharkoz
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7lenithoz
 

Mais procurados (17)

Analisis de Algoritmos
Analisis de AlgoritmosAnalisis de Algoritmos
Analisis de Algoritmos
 
Analisis de algoritmo
Analisis de algoritmoAnalisis de algoritmo
Analisis de algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
analisis de los algoritmos
analisis de los algoritmosanalisis de los algoritmos
analisis de los algoritmos
 
Unidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmoUnidad 7 analisis de algoritmo
Unidad 7 analisis de algoritmo
 
Complejidad de los algoritmos
Complejidad de los algoritmosComplejidad de los algoritmos
Complejidad de los algoritmos
 
Presentacion para analisis de algoritmo
Presentacion para analisis de algoritmoPresentacion para analisis de algoritmo
Presentacion para analisis de algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Unidad siete estructura de datos
Unidad siete estructura de datosUnidad siete estructura de datos
Unidad siete estructura de datos
 
Complejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmosComplejidad de los algoritmos | Análisis de algoritmos
Complejidad de los algoritmos | Análisis de algoritmos
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSUNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
 
Análisis de algoritmos [recuperado]
Análisis de algoritmos [recuperado]Análisis de algoritmos [recuperado]
Análisis de algoritmos [recuperado]
 
Clasificacion de los problemas (1)
Clasificacion de los problemas (1)Clasificacion de los problemas (1)
Clasificacion de los problemas (1)
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
Estructura de dato unidad 7
Estructura de dato unidad 7Estructura de dato unidad 7
Estructura de dato unidad 7
 

Semelhante a Unidad 7

Semelhante a Unidad 7 (20)

Unidad 7
Unidad 7Unidad 7
Unidad 7
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
AnáLisis De Algoritmos1
AnáLisis De Algoritmos1AnáLisis De Algoritmos1
AnáLisis De Algoritmos1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
U7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOSU7.resumen.ANALISIS DE LOS ALGORITMOS
U7.resumen.ANALISIS DE LOS ALGORITMOS
 
ANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOSANALISIS DE LOS ALGORITMOS
ANALISIS DE LOS ALGORITMOS
 
Unidad 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech may
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Unidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmosUnidad 1, 2 y_3_algoritmos
Unidad 1, 2 y_3_algoritmos
 
Complejidad de algoritmos
Complejidad de algoritmosComplejidad de algoritmos
Complejidad de algoritmos
 
Complejidad de Algoritmos
Complejidad de AlgoritmosComplejidad de Algoritmos
Complejidad de Algoritmos
 
Axel compu inf2
Axel compu inf2Axel compu inf2
Axel compu inf2
 
Manual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_gManual estructura de_datos_2010___h._caselli_g
Manual estructura de_datos_2010___h._caselli_g
 
Manual users algoritmos
Manual users   algoritmosManual users   algoritmos
Manual users algoritmos
 
Presentación lenguaje programación
Presentación lenguaje programaciónPresentación lenguaje programación
Presentación lenguaje programación
 
ALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWAREALGORITMOS EN EL SOFTWARE
ALGORITMOS EN EL SOFTWARE
 
2do Trabajo de Investigación de Programación.docx
2do Trabajo de Investigación de Programación.docx2do Trabajo de Investigación de Programación.docx
2do Trabajo de Investigación de Programación.docx
 
19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil19189723 estructura-de-datos-programacion-facil
19189723 estructura-de-datos-programacion-facil
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Mais de Jhon_Marjorie

Mais de Jhon_Marjorie (8)

Manual instalacion sql_server
Manual instalacion sql_serverManual instalacion sql_server
Manual instalacion sql_server
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3Estructura datos unidad-2_y_3
Estructura datos unidad-2_y_3
 
Unidad 6
Unidad 6Unidad 6
Unidad 6
 
Unidad 5
Unidad 5Unidad 5
Unidad 5
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Estructuta de datos
Estructuta de datosEstructuta de datos
Estructuta de datos
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 

Último

Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024IES Vicent Andres Estelles
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIAFabiolaGarcia751855
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...jlorentemartos
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfRosabel UA
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdfDemetrio Ccesa Rayme
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesMarisolMartinez707897
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024IES Vicent Andres Estelles
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOluismii249
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...JAVIER SOLIS NOYOLA
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfJonathanCovena1
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfEduardoJosVargasCama1
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 

Último (20)

Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
TEMA 14.DERIVACIONES ECONÓMICAS, SOCIALES Y POLÍTICAS DEL PROCESO DE INTEGRAC...
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 
La Evaluacion Formativa SM6 Ccesa007.pdf
La Evaluacion Formativa SM6  Ccesa007.pdfLa Evaluacion Formativa SM6  Ccesa007.pdf
La Evaluacion Formativa SM6 Ccesa007.pdf
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 4ºESO
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdfPROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
PROPUESTA COMERCIAL SENA ETAPA 2 ACTIVIDAD 3.pdf
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 

Unidad 7

  • 1. INSTITUTO TECNOLÓGICO SUPERIOR DE FELIPE CARRILLO PUERTO. MATERIA: Estructura De Datos TIPO: Presentación (Evidencias Unidad 7) DOCENTE: MTL. Niels Henryk Aranda Cuevas ALUMNO: Jhonny Gabriel Chablé Pat CARRERA: Ingeniería En Sistemas Computacionales TURNO: Matutino AULA: J-3 GRUPO: “A” TERCER SEMESTRE LUGAR Y FECHA: Felipe Carrillo Puerto, Q.Roo, 8/12/2014
  • 2. Análisis de algoritmos. Un algoritmo es una secuencia de pasos lógica para encontrar la solución de un problema. Todo algoritmo debe contar con las siguientes características: preciso, definido y finito. Por Preciso, entenderemos que cada paso del algoritmo tiene una relación con el anterior y el siguiente; un algoritmo es Definido, cuando se ejecuta más de una vez con los mismos datos y el resultado es el mismo; y Finito, indica que el algoritmo cuenta con una serie de pasos definidos o que tiene un fin. Hablando de estructuras de datos podemos decir que los algoritmos según su función se dividen en: • Un algoritmo de ordenamiento • Un algoritmo de búsqueda La complejidad de un algoritmo o complejidad computacional, estudia los recursos y esfuerzos requeridos durante el cálculo para resolver un problema los cuales se dividen en: tiempo de ejecución y espacio en memoria. El factor tiempo, por lo general es más importante que el factor espacio, pero existen algoritmos que ofrecen el peor de los casos en un menor tiempo que el mejor de los casos, lo cual no es la mejor de las soluciones.
  • 3. Unidad 7. Análisis de los algoritmos . Complejidad en el tiempo El tiempo de ejecución de un algoritmo, se refiere a la suma de los tiempos en los que el programa tarda en ejecutar una a una todas sus instrucciones, tomando en cuanta que cada instrucción requiere una unidad de tiempo, dicho tiempo se puede calcular en función de n (el numero de datos), lo que se denomina T(n) Si hacemos un análisis de forma directa al programa para determinar el tiempo de ejecución del mismo, debemos definir el conjunto de operaciones primitivas, que son independientes del lenguaje de programación que se use. Algunas de las funciones primitivas son las siguientes: • Asignación de un valor a una variable. • Llamada a un método. • Ejecución de una operación aritmética. • Comparar dos números. • Poner índices a un arreglo. • Seguir una referencia de objeto. • Retorno de un método.
  • 4. Complejidad en el espacio La complejidad de espacio, se refiere a la memoria que utiliza un programa para su ejecución; es decir el espacio de memoria que ocupan todas las variables propias del programa. Dicha memoria se divide en Memoria estática y Memoria dinámica. Para calcular la memoria estática, se suman la cantidad de memoria que ocupa cada una de las variables declaradas en el programa. Tomando en cuenta los tipos de datos primitivos del lenguaje de programación java podemos determinar el espacio que requiere cada una de las variables de un programa. El cálculo de la memoria dinámica, no es tan simple ya que depende de cada ejecución del programa o algoritmo y el tipo de estructuras dinámicas que se estén utilizando considerando:
  • 5. (Selección de un algoritmo). Eficiencia de los algoritmos Una de las características primordiales en la selección de un algoritmo es que este sea sencillo de entender, calcular, codificar y depurar, así mismo que utilice eficientemente los recursos de la computadora y se ejecute con la mayor rapidez posible con un eficaz uso de memoria dinámica y estática. También para seleccionar correctamente el mejor algoritmo es necesario realizar estas preguntas: ¿Qué grado de orden tendrá la información que vas a manejar? Si la información va a estar casi ordenada y no quieres complicarte, un algoritmo sencillo como el ordenamiento burbuja será suficiente. Si por el contrario los datos van a estar muy desordenados, un algoritmo poderoso como Quicksort puede ser el más indicado. Y si no puedes hacer una presunción sobre el grado de orden de la información, lo mejor será elegir un algoritmo que se comporte de manera similar en cualquiera de estos dos casos extremos. ¿Qué cantidad de datos vas a manipular? Si la cantidad es pequeña, no es necesario utilizar un algoritmo complejo, y es preferible uno de fácil implementación. Una cantidad muy grande puede hacer prohibitivo utilizar un algoritmo que requiera de mucha memoria adicional. ¿Qué tipo de datos quieres ordenar? Algunos algoritmos sólo funcionan con un tipo específico de datos (enteros, enteros positivos, etc.) y otros son generales, es decir, aplicables a cualquier tipo de dato. ¿Qué tamaño tienen los registros de tu lista? Algunos algoritmos realizan múltiples intercambios (burbuja, inserción). Si los registros son de gran tamaño estos intercambios son más lentos.
  • 6. Conclusión Antes de realizar un programa conviene elegir un buen algoritmo, que utilice pocos recursos, considerando como más importantes el tiempo que lleve ejecutarse y la cantidad de espacio en memoria que requiera. Es engañoso pensar que todos los algoritmos son "más o menos iguales" y confiar en nuestra habilidad como programadores para convertir un mal algoritmo en un producto eficaz. En el análisis de algoritmos se considera usualmente el caso peor, si bien a veces conviene analizar igualmente el caso mejor y hacer alguna estimación sobre un caso promedio. Para problemas pequeños es cierto que casi todos los algoritmos son "más o menos iguales", dejando a lado otros aspectos como esfuerzo de codificación, legibilidad, etc. los órdenes de complejidad sólo son importantes para grandes.