Estructura de Datos 1
Estructura de Datos 1
Estructura de Datos 1
●
Entender los tipos de datos.
●
Introducirse en las ideas fundamentales de estructuras de datos
●
Revisar el concepto de algoritmo y programa.
●
Conocer y entender la utilización de la herramienta de programación
conocida por “pseudocódigo”.
●
Entender los conceptos de análisis, verificación y eficiencia de un algoritmo.
●
Conocer las propiedades matemáticas de la notación O.
●
Conocer la complejidad de las sentencias básicas de todo programa Java.
Tipos de datos
●
Ventajas
– 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.
●
Ejemplo
– int a = 2 + 3 + “abc”;
Tipos de datos
●
Definiciones
– Definición 1: Un tipo de dato es un conjunto de valores y
operaciones asociadas a esos valores.
– Definición 2: Un tipo de dato consta de dos partes: un conjunto de
datos y las operaciones que se pueden realizar sobre esos datos.
●
Ejemplo
Tipos de datos compuestos y
agregados
●
Datos compuestos
– Los datos compuestos se pueden romper en subcampos que tengan significado.
– Ejm: El numero de celular 51199110101. consta de varios campos, el código del país (51, Perú), el
código del área (1, Lima) y el número propiamente dicho, que corresponde a un celular porque empieza
con 9.
●
Tipos agregados
– tipos de datos cuyos valores constan de colecciones de elementos de datos. Un tipo agregado se
compone de tipos de datos previamente definitivos. Existen tres tipos agregados básicos: arrays
(arreglos), secuencias y registros.
– Ejm:
●
Array de enteros: [12, 5, 28, 7]
●
Una secuencia o cadena: “Estructura de datos”
●
Registro {
Dato1
Dato2
Dato3
...
}
Estructura de Datos
●
En sentido general, una estructura de datos es cualquier representación de
datos y sus operaciones asociadas.
●
En un sentido más específico, una estructura de datos es una organización o
estructuración de una colección de elementos dato. Así, una lista ordenada de
enteros almacenados en un array es un ejemplo de dicha estructuración.
●
Una estructura de datos es una agregación de tipos de datos compuestos y
atómicos en un conjunto con relaciones bien definidas. Una estructura
significa un conjunto de reglas que contienen los datos juntos.
●
Las estructuras de datos pueden estar anidadas.
Ejemplo de estructuras de datos
clásicas
●
Array: Secuencias homogéneas de datos o tipos
de datos conocidos como elementos. Asociación
de posición entre los elementos.
●
Registro: Combinación de datos heterogéneos
en una estructura única con una clave
identificada. Ninguna asociación entre los
elementos
Eleccion de una estructura de datos
●
La elección de la estructura de datos adecuada
redundará en una mayor eficiencia del programa
y, sobre todo, en una mejor resolución del
problema en cuestión.
●
Una elección inadecuada de la estructura de
datos puede conducir a programas lentos, largos
y poco eficientes.
Pasos para eleccion de una ED
●
Analizar el problema para determinar las restricciones de
recursos que debe cumplir cada posible solución.
●
Determinar las operaciones básicas que se deben soportar y
cuantificar las restricciones de recursos para cada una. Ejemplos
de operaciones básicas son la inserción de un dato en la
estructura de datos, suprimir un dato de la estructura o encontrar
un dato determinado en dicha estructura.
●
Seleccionar la estructura de datos que cumple mejor los
requisitos o requerimientos.
●
Algoritmos
●
Un algoritmo es un método, un proceso, un
conjunto de instrucciones utilizadas para
resolver un problema específico.
●
Un algoritmo es “un conjunto ordenado de
pasos o instrucciones ejecutables y no
ambiguas”
Descripción de Algoritmos
●
Mediante un lenguaje de programacion.
●
Usando un lenguaje mixto entre un lenguage
natural (como el español) y un lenguaje de
programación universal: seudocodigo.
Propiedades de los algoritmos
●
Especificación precisa de la entrada.
●
Especificación precisa de cada instrucción.
●
Exactitud, corrección.
●
Etapas bien definidas y concretas.
●
Número finito de pasos
●
Un algoritmo debe terminar.
●
Descripción del resultado o efecto.
Programas
●
es una representación concreta de un algoritmo en un
lenguaje de programación.
●
Por definición un algoritmo debe proporcionar suficiente
detalle para que se pueda convertir en un programa
cuando se necesite.
●
El requisito de que un algoritmo “debe terminar” significa
que no todos los programas de computadora son
algoritmos.
Diseño de algoritmos
●
Características principales:
– Que sea fácil de entender, codificar y depurar.
– Que consiga la mayor eficiencia para los recursos
de la computadora.
●
Idealmente cumplir con ambas: programa
elegante.