Publicidad

ESTRUCTURA DE DATOS.pptx

24 de Mar de 2023
Publicidad

Más contenido relacionado

Publicidad

ESTRUCTURA DE DATOS.pptx

  1. UNIDAD 1: ALGORITMOS Y ESTRUCTURAS DE DATOS 1.1 LA NECESIDAD DE LAS ESTRUCTURAS DE DATOS 1.2 ALGORITMOS Y PROGRAMAS 1.3 EFICIENCIA Y EXACTITUD. 1.4 NOTACIÓN O-GRANDE
  2. 1.1. TIPOS DE DATOS • Los lenguajes de programación tradicionales, como Pascal y C, proporcionan tipos de datos para clasificar diversas clases de datos. La ventajas de utilizar tipos en el desarrollo de software [TREMBLAY 2003] son: • • Apoyo y ayuda en la prevención y en la detección de errores. • • Apoyo y ayuda a los desarrolladores de software, y a la comprensión y organización de ideas acerca de sus objetos. • • Ayuda en la identificación y descripción de propiedades únicas de ciertos tipos.
  3. 1.2. LA NECESIDAD DE LAS ESTRUCTURAS DE DATOS • A pesar de la gran potencia de las computadoras actuales, la eficiencia de los programas sigue siendo una de las características más importantes a considerar. Los problemas complejos que procesan las computadoras cada vez más obligan, sobre todo, a pensar en su eficiencia dado el elevado tamaño que suelen alcanzar. Hoy, más que nunca, los profesionales deben formarse en técnicas de construcción de programas eficientes.
  4. 1.3. ALGORITMOS Y PROGRAMAS • Un algoritmo es un método, un proceso, un conjunto de instrucciones utilizadas para resolver un problema específico. Un problema puede ser resuelto mediante muchos algoritmos. Un algoritmo dado correcto, resuelve un problema definido y determinado (por ejemplo, calcula una función determinada). En este libro se explican muchos algoritmos y, para algunos problemas, se proponen diferentes algoritmos, como es el caso del problema típico de ordenación de listas.
  5. 1.4. EFICIENCIA Y EXACTITUD • De las características que antes se han analizado y deben cumplir los algoritmos, destacan dos por su importancia en el desarrollo de algoritmos y en la construcción de programas: eficiencia y exactitud.
  6. 1.5. NOTACIÓN O-GRANDE • La alta velocidad de las computadoras actuales (frecuencias del procesador de 3 GHz ya son usuales en computadoras comerciales) hace que la medida exacta de la eficiencia de un algoritmo no sea una preocupación vital en el diseño, pero sí el orden general de magnitud de la misma. Si el análisis de dos algoritmos muestra que uno ejecuta 25 iteraciones mientras otro ejecuta 40, la práctica muestra que ambos son muy rápidos; entonces, ¿cómo se valoran las diferencias? Por otra parte, si un algoritmo realiza 25 iteraciones y otro 2.500 iteraciones, entonces debemos estar preocupados por la rapidez de uno o la lentitud de otro.
  7. 1.6. COMPLEJIDAD DE LAS SENTENCIAS BÁSICAS DE JAVA • Al analizar la complejidad de un método no recursivo, se han de aplicar las propiedades de la notación O y las siguientes consideraciones relativas al orden que tienen las sentencias, funda-mentalmente a las estructuras de control.
  8. TIPOS DE DATOS: CLASES Y OBJETOS • •Abstracción en lenguajes de programación. • •Tipos abstractos de datos • •Especificación de los tad • •Clases y objetos • •Declaración de una clase.
  9. LISTAS ENLAZADAS • • Fundamentos teóricos de listas enlazadas • • Clasificación de listas enlazadas • • Tipo abstracto de datos (tad ) lista • • Operaciones de listas enlazadas • • Inserción de un elemento en una lista • • Búsqueda en listas enlazadas • • Eliminación de un nodo de una lista • • Lista ordenada • • Lista doblemente enlazada
  10. PILAS • 4.1 Concepto de pila. • • 4.2 Tipo de dato Pila implementado con arrays. • • 4.3 Pila dinámica implementada con un vector. • • 4.4 El tipo Pila implementado como una lista enlazada. • • 4.5 Evaluación de expresiones aritméticas con pilas.
  11. COLAS • • 5.1 Concepto de Cola. • • 5.2 Colas implementadas con arrays. • • 5.3 Cola con un array circular. • • 5.4 Cola con una lista enlazada. • • 5.5 Bicolas: Colas de doble entrada.
Publicidad