SlideShare una empresa de Scribd logo
1 de 5
Descargar para leer sin conexión
INSTITUTO TECNOLOGICO SUPERIOR DE
      FELIPE CARRILLO PUERTO




       MATERIA: ESTRUCTURA DE DATOS

                   RESUMEN

    UNIDAD 7: ANALISIS DE LOS ALGORITMOS.



    DOCENTE: Dr. Niels Henryck Aranda Cuevas




         ALUMNO: JOSE LUIS YAMA MAY

      SEMESTRE: III GRUPO: B    AULA: J-4



               VIERNES 14 de DICIEMBRE del AÑO 2012
ITS CARRILLO PUERTO
                                                                ESTRUCTURA DE DATOS

ANÁLISIS DE ALGORITMOS.

El análisis de algoritmos es una parte importante de la Teoría de complejidad
computacional más amplia, que provee estimaciones teóricas para los recursos
que necesita cualquier algoritmo que resuelva un problema computacional dado.
Estas estimaciones resultan ser bastante útiles en la búsqueda de algoritmos
eficientes.

Para poder trabajar sobre el análisis de un algoritmo es necesario definir con
claridad que es un algoritmo, sus características en cuanto a estructura gráfica, su
funcionalidad y que aspectos se toman en cuenta o mejor dicho en que nos
ayudara esta herramienta, que si bien, es muy común escucharlo en el campo de
la informática, es utiliza también en otras áreas por la ayuda que proporciona en la
toma de decisiones sobre cualquier acción que se desee realizar, o programa,
esto ultimo en la creación de software.

DEFINICIÓN: 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.

   Como se mencionó anteriormente, un algoritmo es útil para la toma de
decisiones sobre cualquier acción o programa que deseamos llevar a cabo. Pero
también es una herramienta útil para realizar pruebas sobre el funcionamiento de
cualquier cosa, ya sea antes de llevarlo a cabo o después para confirmar su buen
funcionamiento en cualquier condición de trabajo.
   Para dejar en claro esta apartado de la utilidad de los algoritmos como
herramientas de prueba tenemos lo siguiente que habla sobre las pruebas y como
se dará cuanta tiene una serie de pasos a seguir y a cumplirse; eso es un
algoritmo.

   Tenemos como ejemplo dos tipos de pruebas muy conocidas en el campo de
los sistemas computarizados, pero antes de entrar de lleno con estas pruebas,
primero definiremos que es una prueba en computación:

   Prueba: es realizar una serie de acciones que nos permitan definir, si el
elemento que sometemos a prueba cumple con su objetivo y con lo que se espera
será su funcionalidad, o también se puede decir que, una prueba es factor crítico
para garantizar la calidad del software. Una prueba conlleva la intención de
descubrir algún error



                                    2                  YAMA MAY JOSE LUIS
ITS CARRILLO PUERTO
                                                              ESTRUCTURA DE DATOS

   Un caso de prueba es bueno cuando su ejecución conlleva una alta
probabilidad de encontrar un error. El éxito de la prueba se mide en función de la
capacidad de detectar un error que estaba oculto. Existen varios tipos de prueba
como: las pruebas Unitarias, de Integración, de Aceptación, entre muchos otros.

Dentro de la definición de prueba, se mencionan los errores, que pueden
generarse por varios motivos:

      Error: acción humana que produce una falta.
      Falta: algo que está mal en un producto (modelo, código, documento, etc.)
      Fallo: manifestación de una falta.
      Defecto: error, falta o fallo.

Una vez estos conceptos, hablemos de las pruebas de caja blanca y caja negra,
aunque se hablara más en específico de la primera prueba.

Prueba De Caja Blanca
       La prueba de la caja blanca usa la estructura de control del diseño
procedural para derivar los casos de prueba y tiene como idea o finalidad principal
la de confeccionar casos de prueba que garanticen que se verifican todos los
caminos independientes. Además verifica cada camino de manera independiente,
probando sus dos facetas desde el punto de vista lógico, es decir, verdadera y
falsa, ejecutando todos los bucles en sus límites operacionales y ejercitando las
estructuras internas de datos.

       Fue propuesta por Tom McCabe (1976). La idea es derivar casos de prueba
a partir de un conjunto dado de caminos independientes.
       Camino independiente es aquel que introduce por lo menos una sentencia
de procesamiento (o valor de condición) que no estaba considerada. Para obtener
el conjunto de caminos independientes se construirá el Grafo de Flujo asociado y
se calculará su Complejidad Ciclomática.

Grafo de Flujo de las Estructuras Básicas de programa




                                   3                 YAMA MAY JOSE LUIS
ITS CARRILLO PUERTO
                                                               ESTRUCTURA DE DATOS

Con estos grafos se pretende básicamente; Separar todas las condiciones,
Agrupar sentencias ‘simples’ en bloques, y Numerar todos los bloques y también
las condiciones.


Pruebas de Caja Blanca
Prueba del Camino Básico - Complejidad Ciclomática




Complejidad Ciclomática de un grafo de flujo V (G) establece el número de
caminos independientes. Puede calcularse de tres formas alternativas:
   1. Mediante el número de regiones del grafo de flujo
   2. V (G) = A - N + 2, donde A es el número de aristas y N es el número de
      nodos.
   3. V (G) = P + 1, donde P es el número de nodos predicado.

Pruebas de Caja Negra
       En cuanto a las pruebas de caja negra tenemos que abordar dos aspectos
que se refieren a la Partición Equivalente y al Análisis de Valores Límite mediante
la Verificación y Validación de los procesos llevados a cabo durante la prueba.

Verificación: ¿estamos construyendo el producto correctamente?
Validación: ¿estamos construyendo el producto correcto?

       En fin estas son las pruebas que se manejan como semejanza a los
algoritmos y con los que se pretende, dejar más en claro el objetivo de esta
herramienta. Ahora bien, hablando de estructuras de datos podemos decir que los
algoritmos según su función se dividen en: Algoritmos de ordenamiento y
Algoritmos de búsqueda.

       Un algoritmo de ordenamiento, es el que pone los elementos de una lista o
vector en una secuencia (ascendente o descendente) diferente a la entrada.
       Un algoritmo de búsqueda, es aquel que está diseñado para encontrar la
solución de un problema booleano de existencia o no de un elemento en particular
dentro de un conjunto finito de elementos (estructura de datos)

                                    4                 YAMA MAY JOSE LUIS
ITS CARRILLO PUERTO
                                                             ESTRUCTURA DE DATOS

       Además de que se utiliza para realizar pruebas de escritorio sobre el
funcionamiento de software.

COMPLEJIDAD ALGORITMICA.
La complejidad algorítmica representa la cantidad de recursos (temporales) que
necesita un algoritmo para resolver un problema y por tanto permite determinar la
eficiencia de dicho algoritmo.
Los criterios que se van a emplear para evaluar la complejidad algorítmica no
proporcionan medidas absolutas sino medidas relativas al tamaño del problema.
Tareas en el Análisis de Algoritmos:

   -   Determinar qué operaciones se emplean y su costo relativo.- Determinar
       conjuntos de datos para exhibir todos los patrones posibles de
       comportamiento.
   -   Análisis a priori: se determina una función (de ciertos parámetros) que
       acote el tiempo de cómputo del algoritmo.
   -   Análisis a posteriori: estadísticas reales sobre tiempo y memoria.

Tiempo De Ejecución De Un Algoritmo.

       La eficiencia en tiempo se mide en términos de la cantidad de tiempo de
ejecución del programa. 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 cuenta que cada instrucción requiere una unidad de
tiempo, dicho tiempo se puede calcular en función del número de datos.

La Complejidad De 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.

Eficiencia De Los Algoritmos

        Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados
utilizando la menor cantidad de recursos posibles, es decir, minimizando el uso
memoria, de pasos y de esfuerzo humano.
Espacio: medida de la cantidad de memoria requerida por un programa.
Tiempo: la cantidad de tiempo de ejecución del programa




                                  5                 YAMA MAY JOSE LUIS

Más contenido relacionado

La actualidad más candente

Presentacion de algoritmos
Presentacion de algoritmosPresentacion de algoritmos
Presentacion de algoritmos
sistemas2011
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
Ana Ruth G H
 
Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacion
Michele André
 
Informatica II - 1 Terminologia Usada en Algoritmos
Informatica II - 1 Terminologia Usada en AlgoritmosInformatica II - 1 Terminologia Usada en Algoritmos
Informatica II - 1 Terminologia Usada en Algoritmos
Gabriel Ruiz
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
MIKE_INK_RM
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
rcarrerah
 

La actualidad más candente (20)

Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacion
 
Algoritmos computacionales conceptos básicos
Algoritmos computacionales   conceptos básicosAlgoritmos computacionales   conceptos básicos
Algoritmos computacionales conceptos básicos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1
 
Presentacion de algoritmos
Presentacion de algoritmosPresentacion de algoritmos
Presentacion de algoritmos
 
Pseudocodigo
PseudocodigoPseudocodigo
Pseudocodigo
 
Tutorial algoritmo representacion
Tutorial algoritmo representacionTutorial algoritmo representacion
Tutorial algoritmo representacion
 
Informatica II - 1 Terminologia Usada en Algoritmos
Informatica II - 1 Terminologia Usada en AlgoritmosInformatica II - 1 Terminologia Usada en Algoritmos
Informatica II - 1 Terminologia Usada en Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tkAlgoritmos Conceptos Basicos - www.ingfiis.tk
Algoritmos Conceptos Basicos - www.ingfiis.tk
 
Algoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigoAlgoritmos, dfd, pseudocodigo
Algoritmos, dfd, pseudocodigo
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
 
Elaboracion de algoritmos
Elaboracion de algoritmosElaboracion de algoritmos
Elaboracion de algoritmos
 
6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones6. entidades primitivas para el diseño de instrucciones
6. entidades primitivas para el diseño de instrucciones
 
Pseudocodigo pptx
Pseudocodigo pptxPseudocodigo pptx
Pseudocodigo pptx
 

Similar a U7.resumen.ANALISIS DE LOS ALGORITMOS

Similar a U7.resumen.ANALISIS DE LOS ALGORITMOS (20)

Tecnica de Prueba de Software
Tecnica de Prueba de SoftwareTecnica de Prueba de Software
Tecnica de Prueba de Software
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
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 7 diana karina pech may
Unidad 7 diana karina pech mayUnidad 7 diana karina pech may
Unidad 7 diana karina pech may
 
Software testing 1
Software testing 1Software testing 1
Software testing 1
 
Presentac..
Presentac..Presentac..
Presentac..
 
6.redes pruebas de software
6.redes pruebas de software6.redes pruebas de software
6.redes pruebas de software
 
Caja negra
Caja negraCaja negra
Caja negra
 
Unidad2 compu luis jimenez
Unidad2 compu luis jimenezUnidad2 compu luis jimenez
Unidad2 compu luis jimenez
 
73000115.pdf
73000115.pdf73000115.pdf
73000115.pdf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Casos de pruebas
Casos de pruebasCasos de pruebas
Casos de pruebas
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Estructuras_F_CAT
Estructuras_F_CATEstructuras_F_CAT
Estructuras_F_CAT
 
Lenguajes de programación parte i.3
Lenguajes de programación parte i.3Lenguajes de programación parte i.3
Lenguajes de programación parte i.3
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 
Unidad 7
Unidad 7Unidad 7
Unidad 7
 

Más de LuiS YmAY

Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4
LuiS YmAY
 
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONALUNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
LuiS YmAY
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
LuiS YmAY
 
Tipos de servidores
Tipos de servidoresTipos de servidores
Tipos de servidores
LuiS YmAY
 
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSUNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
LuiS YmAY
 
Fisica general.cinetica
Fisica general.cineticaFisica general.cinetica
Fisica general.cinetica
LuiS YmAY
 
Programacion no lineaL
Programacion no lineaLProgramacion no lineaL
Programacion no lineaL
LuiS YmAY
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
LuiS YmAY
 
Fisica.optica
Fisica.opticaFisica.optica
Fisica.optica
LuiS YmAY
 

Más de LuiS YmAY (16)

Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
Externalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costosExternalizacion e internacionalizacion de costos
Externalizacion e internacionalizacion de costos
 
programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4programacion.en android.joseluis.yama.may.isc.j4
programacion.en android.joseluis.yama.may.isc.j4
 
Dispositivos logicos programables
Dispositivos logicos programablesDispositivos logicos programables
Dispositivos logicos programables
 
conversores analogicos digitales y digitales analogico
conversores analogicos digitales y digitales analogicoconversores analogicos digitales y digitales analogico
conversores analogicos digitales y digitales analogico
 
Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4Unidad5. algebra relacional. yama.may.joseluis.j4
Unidad5. algebra relacional. yama.may.joseluis.j4
 
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONALUNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
UNIDAD 4 DISEÑO DE BASE DE DATOS RELACIONAL
 
Unidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacionUnidad 2. modelo entidad relacion
Unidad 2. modelo entidad relacion
 
Tipos de servidores
Tipos de servidoresTipos de servidores
Tipos de servidores
 
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOSUNIDAD 7 ANALISIS DE LOS ALGORITMOS
UNIDAD 7 ANALISIS DE LOS ALGORITMOS
 
Fisica general.cinetica
Fisica general.cineticaFisica general.cinetica
Fisica general.cinetica
 
Programacion no lineaL
Programacion no lineaLProgramacion no lineaL
Programacion no lineaL
 
METODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTOMETODOS DE ORDENAMIENTO
METODOS DE ORDENAMIENTO
 
Fisica.optica
Fisica.opticaFisica.optica
Fisica.optica
 

Último

Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdfEstrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Demetrio Ccesa Rayme
 
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
helmer del pozo cruz
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
NELLYKATTY
 

Último (20)

flujo de materia y energía ecosistemas.
flujo de materia y  energía ecosistemas.flujo de materia y  energía ecosistemas.
flujo de materia y energía ecosistemas.
 
Época colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la épocaÉpoca colonial: vestimenta, costumbres y juegos de la época
Época colonial: vestimenta, costumbres y juegos de la época
 
EVALUACION del tercer trimestre 2024 nap.docx
EVALUACION  del tercer trimestre 2024 nap.docxEVALUACION  del tercer trimestre 2024 nap.docx
EVALUACION del tercer trimestre 2024 nap.docx
 
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdfTÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
TÉCNICAS OBSERVACIONALES Y TEXTUALES.pdf
 
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdfEstrategia Nacional de Refuerzo Escolar  SJA  Ccesa007.pdf
Estrategia Nacional de Refuerzo Escolar SJA Ccesa007.pdf
 
ciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemasciclos biogeoquimicas y flujo de materia ecosistemas
ciclos biogeoquimicas y flujo de materia ecosistemas
 
Motivados por la esperanza. Esperanza en Jesús
Motivados por la esperanza. Esperanza en JesúsMotivados por la esperanza. Esperanza en Jesús
Motivados por la esperanza. Esperanza en Jesús
 
Revista Faro Normalista 6, 18 de mayo 2024
Revista Faro Normalista 6, 18 de mayo 2024Revista Faro Normalista 6, 18 de mayo 2024
Revista Faro Normalista 6, 18 de mayo 2024
 
La historia de la vida estudiantil a 102 años de la fundación de las Normales...
La historia de la vida estudiantil a 102 años de la fundación de las Normales...La historia de la vida estudiantil a 102 años de la fundación de las Normales...
La historia de la vida estudiantil a 102 años de la fundación de las Normales...
 
En un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdfEn un aposento alto himno _letra y acordes.pdf
En un aposento alto himno _letra y acordes.pdf
 
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
3. ELEMENTOS QUE SE EMPLEAN EN LAS ESTRUCTURAS.pptx
 
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
RESOLUCION_VICE_MINISTERIAL-00048-2024-M-EVALUACIÓN EVALAUCION FORMATIVA MINE...
 
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdfPasos para enviar una tarea en SIANET - sólo estudiantes.pdf
Pasos para enviar una tarea en SIANET - sólo estudiantes.pdf
 
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
Realitat o fake news? – Què causa el canvi climàtic? - Modificacions dels pat...
 
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLAACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
ACERTIJO CÁLCULOS MATEMÁGICOS EN LA CARRERA OLÍMPICA. Por JAVIER SOLIS NOYOLA
 
2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docx2.15. Calendario Civico Escolar 2024.docx
2.15. Calendario Civico Escolar 2024.docx
 
Sesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdfSesión de clase Motivados por la esperanza.pdf
Sesión de clase Motivados por la esperanza.pdf
 
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertitzacióRealitat o fake news? – Què causa el canvi climàtic? - La desertització
Realitat o fake news? – Què causa el canvi climàtic? - La desertització
 
a propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definicionesa propósito del estado su relevancia y definiciones
a propósito del estado su relevancia y definiciones
 
Power Point : Motivados por la esperanza
Power Point : Motivados por la esperanzaPower Point : Motivados por la esperanza
Power Point : Motivados por la esperanza
 

U7.resumen.ANALISIS DE LOS ALGORITMOS

  • 1. INSTITUTO TECNOLOGICO SUPERIOR DE FELIPE CARRILLO PUERTO MATERIA: ESTRUCTURA DE DATOS RESUMEN UNIDAD 7: ANALISIS DE LOS ALGORITMOS. DOCENTE: Dr. Niels Henryck Aranda Cuevas ALUMNO: JOSE LUIS YAMA MAY SEMESTRE: III GRUPO: B AULA: J-4 VIERNES 14 de DICIEMBRE del AÑO 2012
  • 2. ITS CARRILLO PUERTO ESTRUCTURA DE DATOS ANÁLISIS DE ALGORITMOS. El análisis de algoritmos es una parte importante de la Teoría de complejidad computacional más amplia, que provee estimaciones teóricas para los recursos que necesita cualquier algoritmo que resuelva un problema computacional dado. Estas estimaciones resultan ser bastante útiles en la búsqueda de algoritmos eficientes. Para poder trabajar sobre el análisis de un algoritmo es necesario definir con claridad que es un algoritmo, sus características en cuanto a estructura gráfica, su funcionalidad y que aspectos se toman en cuenta o mejor dicho en que nos ayudara esta herramienta, que si bien, es muy común escucharlo en el campo de la informática, es utiliza también en otras áreas por la ayuda que proporciona en la toma de decisiones sobre cualquier acción que se desee realizar, o programa, esto ultimo en la creación de software. DEFINICIÓN: 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. Como se mencionó anteriormente, un algoritmo es útil para la toma de decisiones sobre cualquier acción o programa que deseamos llevar a cabo. Pero también es una herramienta útil para realizar pruebas sobre el funcionamiento de cualquier cosa, ya sea antes de llevarlo a cabo o después para confirmar su buen funcionamiento en cualquier condición de trabajo. Para dejar en claro esta apartado de la utilidad de los algoritmos como herramientas de prueba tenemos lo siguiente que habla sobre las pruebas y como se dará cuanta tiene una serie de pasos a seguir y a cumplirse; eso es un algoritmo. Tenemos como ejemplo dos tipos de pruebas muy conocidas en el campo de los sistemas computarizados, pero antes de entrar de lleno con estas pruebas, primero definiremos que es una prueba en computación: Prueba: es realizar una serie de acciones que nos permitan definir, si el elemento que sometemos a prueba cumple con su objetivo y con lo que se espera será su funcionalidad, o también se puede decir que, una prueba es factor crítico para garantizar la calidad del software. Una prueba conlleva la intención de descubrir algún error 2 YAMA MAY JOSE LUIS
  • 3. ITS CARRILLO PUERTO ESTRUCTURA DE DATOS Un caso de prueba es bueno cuando su ejecución conlleva una alta probabilidad de encontrar un error. El éxito de la prueba se mide en función de la capacidad de detectar un error que estaba oculto. Existen varios tipos de prueba como: las pruebas Unitarias, de Integración, de Aceptación, entre muchos otros. Dentro de la definición de prueba, se mencionan los errores, que pueden generarse por varios motivos:  Error: acción humana que produce una falta.  Falta: algo que está mal en un producto (modelo, código, documento, etc.)  Fallo: manifestación de una falta.  Defecto: error, falta o fallo. Una vez estos conceptos, hablemos de las pruebas de caja blanca y caja negra, aunque se hablara más en específico de la primera prueba. Prueba De Caja Blanca La prueba de la caja blanca usa la estructura de control del diseño procedural para derivar los casos de prueba y tiene como idea o finalidad principal la de confeccionar casos de prueba que garanticen que se verifican todos los caminos independientes. Además verifica cada camino de manera independiente, probando sus dos facetas desde el punto de vista lógico, es decir, verdadera y falsa, ejecutando todos los bucles en sus límites operacionales y ejercitando las estructuras internas de datos. Fue propuesta por Tom McCabe (1976). La idea es derivar casos de prueba a partir de un conjunto dado de caminos independientes. Camino independiente es aquel que introduce por lo menos una sentencia de procesamiento (o valor de condición) que no estaba considerada. Para obtener el conjunto de caminos independientes se construirá el Grafo de Flujo asociado y se calculará su Complejidad Ciclomática. Grafo de Flujo de las Estructuras Básicas de programa 3 YAMA MAY JOSE LUIS
  • 4. ITS CARRILLO PUERTO ESTRUCTURA DE DATOS Con estos grafos se pretende básicamente; Separar todas las condiciones, Agrupar sentencias ‘simples’ en bloques, y Numerar todos los bloques y también las condiciones. Pruebas de Caja Blanca Prueba del Camino Básico - Complejidad Ciclomática Complejidad Ciclomática de un grafo de flujo V (G) establece el número de caminos independientes. Puede calcularse de tres formas alternativas: 1. Mediante el número de regiones del grafo de flujo 2. V (G) = A - N + 2, donde A es el número de aristas y N es el número de nodos. 3. V (G) = P + 1, donde P es el número de nodos predicado. Pruebas de Caja Negra En cuanto a las pruebas de caja negra tenemos que abordar dos aspectos que se refieren a la Partición Equivalente y al Análisis de Valores Límite mediante la Verificación y Validación de los procesos llevados a cabo durante la prueba. Verificación: ¿estamos construyendo el producto correctamente? Validación: ¿estamos construyendo el producto correcto? En fin estas son las pruebas que se manejan como semejanza a los algoritmos y con los que se pretende, dejar más en claro el objetivo de esta herramienta. Ahora bien, hablando de estructuras de datos podemos decir que los algoritmos según su función se dividen en: Algoritmos de ordenamiento y Algoritmos de búsqueda. Un algoritmo de ordenamiento, es el que pone los elementos de una lista o vector en una secuencia (ascendente o descendente) diferente a la entrada. Un algoritmo de búsqueda, es aquel que está diseñado para encontrar la solución de un problema booleano de existencia o no de un elemento en particular dentro de un conjunto finito de elementos (estructura de datos) 4 YAMA MAY JOSE LUIS
  • 5. ITS CARRILLO PUERTO ESTRUCTURA DE DATOS Además de que se utiliza para realizar pruebas de escritorio sobre el funcionamiento de software. COMPLEJIDAD ALGORITMICA. La complejidad algorítmica representa la cantidad de recursos (temporales) que necesita un algoritmo para resolver un problema y por tanto permite determinar la eficiencia de dicho algoritmo. Los criterios que se van a emplear para evaluar la complejidad algorítmica no proporcionan medidas absolutas sino medidas relativas al tamaño del problema. Tareas en el Análisis de Algoritmos: - Determinar qué operaciones se emplean y su costo relativo.- Determinar conjuntos de datos para exhibir todos los patrones posibles de comportamiento. - Análisis a priori: se determina una función (de ciertos parámetros) que acote el tiempo de cómputo del algoritmo. - Análisis a posteriori: estadísticas reales sobre tiempo y memoria. Tiempo De Ejecución De Un Algoritmo. La eficiencia en tiempo se mide en términos de la cantidad de tiempo de ejecución del programa. 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 cuenta que cada instrucción requiere una unidad de tiempo, dicho tiempo se puede calcular en función del número de datos. La Complejidad De 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. Eficiencia De Los Algoritmos Un algoritmo es eficiente cuando logra llegar a sus objetivos planteados utilizando la menor cantidad de recursos posibles, es decir, minimizando el uso memoria, de pasos y de esfuerzo humano. Espacio: medida de la cantidad de memoria requerida por un programa. Tiempo: la cantidad de tiempo de ejecución del programa 5 YAMA MAY JOSE LUIS